python入门第二十二天——面向对象

Posted 独孤_败天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python入门第二十二天——面向对象相关的知识,希望对你有一定的参考价值。

 

 1 class 父类:
 2     def 喝酒(self):
 3         print("我是老子,我爱喝酒")
 4     def 吃鸡(self):
 5         print("我是老子,我在吃鸡")
 6     def 踢足球(self):
 7         print("我是老子,我今天必须踢足球")
 8 
 9 
10 class 子类(父类):
11     def 大保健(self):
12         print(我是儿子,我要大保健)
13     def 喝酒(self):
14         print("我是儿子,儿子不能喝酒")
15     def 吃鸡(self):
16         super(子类,self).吃鸡()#执行父类中的方法
17         print("我是儿子我才不要吃鸡。我讨厌吃鸡")
18         #父类.吃鸡(self) 直接调用
19 
20 print("调用子类中的方法:")
21 a=子类()
22 a.大保健()
23 print("调用父类中的方法")
24 a.踢足球()
25 print("我对父类中的方法不满意,要对父类中的方法重写")
26 a.喝酒()
27 print("虽然我重写了父类的内容,但是我还是想一起调用父类的方法")
28 a.吃鸡()

运行结果:

"D:Program Files (x86)python36python.exe" F:/python从入门到放弃/7.20/面向对象2.py
调用子类中的方法:
我是儿子,我要大保健
调用父类中的方法
我是老子,我今天必须踢足球
我对父类中的方法不满意,要对父类中的方法重写
我是儿子,儿子不能喝酒
虽然我重写了父类的内容,但是我还是想一起调用父类的方法
我是老子,我在吃鸡
我是儿子我才不要吃鸡。我讨厌吃鸡

Process finished with exit code 0

 

 

 

 

 

既可以执行父类,又可以执行子类的方法。

 1 #!/usr/bin/env python3
 2 #-*- coding:utf-8 -*-
 3 ‘‘‘
 4 Administrator 
 5 2018/7/20 
 6 ‘‘‘
 7 #应用场景,假设有个web应用程序,开发人员需要给程序,天下新的功能。/////对于别人已经写好的模块,增加新的功能模块
 8 class RequestHandler:
 9     def __init__(self):
10         pass
11 
12     def get(self):
13         print(这是完整的框架)
14 
15 class BaseRequest(RequestHandler):
16     def __init__(self):
17         pass
18     def get(self):
19         print(这是自定义增加的功能)
20         super(BaseRequest, self).get()
21 d=BaseRequest()
22 d.get()

运行结果:

"D:Program Files (x86)python36python.exe" F:/python从入门到放弃/7.20/面向对象2.py
这是自定义增加的功能
这是完整的框架

Process finished with exit code 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技术分享图片
 1 #!/usr/bin/env python3
 2 #-*- coding:utf-8 -*-
 3 ‘‘‘
 4 Administrator 
 5 2018/7/20 
 6 ‘‘‘
 7 #应用场景,对于别人已经写好的模块,增加新的功能模块
 8 class RequestHandler:
 9     def __init__(self):
10         pass
11 
12     def get(self):
13         print(这是完整的框架)
14 
15 class BaseRequest(RequestHandler):
16     def __init__(self):
17         pass
18     def get(self):
19         print(这是自定义增加的功能)
20         super(BaseRequest, self).get()
21 d=BaseRequest()
22 d.get()
23 
24 
25 # class Father:
26 #     def 喝酒(self):
27 #         print("喝酒")
28 #     def 吃鸡(self):
29 #         print("我在吃鸡")
30 #
31 #
32 # class Son(Father):
33 #     def 大保健(self):
34 #         print(‘我要大保健‘)
35 #     def 吃鸡(self):
36 #         # super(Son,self).吃鸡()#执行父类中的方法
37 #         print("我才不要吃鸡。我讨厌吃鸡")
38 #         Father.吃鸡(self)
39 #
40 #
41 # a=Son()
42 #
43 # a.吃鸡()
44 
45 
46 
47 # str()
48 # class Bar:
49 #     def __init__(self,name,age,gender):
50 #         ‘‘‘
51 #         构造方法的特性,类名加特性会自动执行构造方法
52 #         :param name:
53 #         :param age:
54 #         :param gender:
55 #         ‘‘‘
56 #         self.name=name
57 #         self.age=age
58 #         self.gender=gender
59 #     def foo(self):
60 #         print(self.name,self.age,self.gender,"chifan")
61 #
62 # z1=Bar("Aliex",20,"nan")
63 # print(z1.name)
64 # z1.foo()
65 # z1.name=‘Tom‘
66 # z1.age=12
67 # z1.gender=‘man‘
68 # z1.foo(‘上山砍柴‘)
69 # z1.foo(‘下海捉虾‘)
70 
71 
72 
73 
74 # class Bar:
75 #     def foo(self,arg):
76 #         print(self,self.name,self.age,self.gender,arg)
77 #
78 #
79 # z1=Bar()
80 # z1.name=‘Tom‘
81 # z1.age=12
82 # z1.gender=‘man‘
83 # print(z1)
84 # z1.foo(‘12‘)
85 # print(‘ceshi‘.center(30,‘*‘))
86 #
87 # z2=Bar()
88 # print(z2)
89 # z2.foo(‘66666‘)
练习草稿

 

以上是关于python入门第二十二天——面向对象的主要内容,如果未能解决你的问题,请参考以下文章

python入门第二十一天——面向对象

python入门第二天

python入门第二天

Python 入门第二天

Python 入门第二天

Spring--入门第二天