o1_类的继承.py
1 # Learner BM 2 """ 3 面向对象三大特性 4 封装 init方法封装属性, 5 公用属性 6 __私有属性 7 封装方法 8 类体内部自定义 9 def fun1 (self:) 10 pass 11 封装后的对象之间的属性和方法要夸对象进行访问, 12 需将对象作为参数或者属性进行传递,为了解决传递后数据滥用情况 13 需要将部分方法属性设置为__方法 14 15 继承 子类继承父类,获得父类的全部属性和方法 16 继承完毕后直接使用调用接 17 18 方法重写 子类方法名与父类方法名相同 19 20 super.() 方法名 21 语法 class 类名(父类名) 22 """ 23 # 父类animail 24 class animail(): 25 # 父类方法bark 26 def bark(self): 27 print('这是动物类') 28 # 子类Dog继承animail 29 class Dog(animail): 30 pass 31 # 创建子类Dog的实例,dog 32 dog = Dog() 33 # dog内是没有写bark,方法此时输出的是父类的bark方法'这是动物' 34 dog.bark() 35 36 # 创建Bird类继承animail 37 class Bird(animail): 38 # 对父类的bark方法进行重写 39 def bark(self): 40 # 扩展父类的方法,方法重写后是无法输出父类的代码的,想要实现父类的功能需要使用super关键字 41 print('这是鸟类的bark方法') 42 # 调用父类的方法 43 super().bark() 44 """ 45 一句话,父类方法被重写后,相当于父类的方法功能被改变了, 46 如果还需要保留或使用父类的功能,需要使用super关键字 47 super().方法名字 48 49 """ 50 def fly(self): 51 # 子类调用父类方法 52 super().bark() 53 # 创建Bird对象 54 polly = Bird() 55 polly.bark() 56 polly.fly()
浙公网安备 33010602011771号