class 类名(参数):
#括号里面的参数为:父类,基类,超类
#括号外面的:子类,派生类
**
- 子类以及子类的实例化的对象,可以访问父类的任何静态字段或者任何方法
**
类名可以访问父类所有内容 :
子类名+英文点+父类的静态变量/父类方法子类实例化的对象也可以访问父类所有内容 :
p1 = 子类名(~~) p1.父类静态变量/父类方法
查询顺序:实例化对象先通过自己的指针寻找本类中所需属性或者方法,找不到再通过本类的指针寻找父类。。。
**
只执行父类的方法:子类中不要定义与父类同名的方法
只执行子类的方法:在子类创建这个方法.
**
- 既要执行子类的方法,又要执行父类的方法?
有两种解决方法.
1,Animal.init(self, name, sex, age)#不常用
1,super().init(name,sex,age)
class Brid(Animal):
def __init__(self, name, sex, age, wing): # self b1对象 name '鹦鹉',sex '公',age 20, wing '绿翅膀'
# Animal.__init__(self, name, sex, age)
super().__init__(name, sex, age)#self会自动传值
# super(Brid,self).__init__(name,sex,age)
self.wing = wing
**
- 注意如果只想让子类封装属于自己的属性,只用正常的封装函数(init())即可,不用super()函数
**