1.继承:在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。子类会继承父类的所有属性和方法,也可以定义自己的属性和方法。
a.创建子类时,父类必须包含在当前文件夹中,且位于子类前面
b.在定义子类时,必须在括号内指定父类的名称
2.让一个类继承另一个类后,可以添加区分子类和父类的新的属性和方法。
3.重写父类的方法:当子类和父类都存在相同的方法时,子类的方法
覆盖了父类的方法
,在代码运行的时候,总是会调用子类的方法
。这样,我们就获得了继承的另一个好处:多态。
4.将实例用作属性
class Animal: def __init__(self, name): self.__name = name """内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头, 就变成了一个私有变量(private),只有内部可以访问,外部不能访问""" def name(self, name): self.__name = name print('my name is %s' % self.__name) def run(self): print('dog is running') def run_twice(animal): animal.run() animal.run() class Action: def action(self): print('this dog is rolling') class Dog(Animal): def __init__(self): self.age = 15 self._action = Action() """将类的一部分作为一个独立的类提取出来""" print('this a %s years old dog' % str(self.age)) def run(self): print('run!') cat = Animal('cathy') cat.name('cathy') dog = Dog() dog._action.action() run_twice(dog)