习题 42 对象、类及从属关系

习题 42 对象、类及从属关系

class Animal(object):
    def __init__(self, name):
        self.name = name

class Dog(Animal):
    pass

class Cat(Animal):
    pass

class Person(object):
    def __init__(self, name):
        self.name = name
        self.pet = None

class Employee(Person):
    def __init__(self, name, salary):
        super(Employee, self).__init__(name)
        self.salary = salary

rover = Dog('Rover')
satan = Cat('Satan')

mary = Person('Mary')
mary.pet = satan

frank = Employee('Frank', 120000)
frank.pet = rover

print "%s has a cat named %s." % (mary.name, mary.pet.name)

print "%s's salary is %d. He has a dog named %s." % (frank.name, frank.salary, frank.pet.name)

结果:

Mary has a cat named Satan.
Frank's salary is 120000. He has a dog named Rover.

调用父类的初始化方法

super(Employee, self).__init__(name)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容