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()
View Code

 

posted on 2020-03-09 21:22  RRRRRRR1  阅读(8)  评论(0)    收藏  举报