python 继承 多态
2024-10-19 04:34:55
python 的继承
#-*- coding:utf-8 -*-
class A(object):
def __init__(self):
print('A:我是肯定会执行的!!') def fun(self):
print('AAAA') def fun_A(self):
print('这是A单独有的!!')
pass class B(object):
def __init__(self):
print('B:我是肯定会执行的!!') def fun(self):
print('BBBB')
pass class C(A,B):
def __init__(self):
super(C, self).__init__()
super(A, self).__init__()
# super().__init__()#python3以上语法
print('C:我是肯定会执行的!!') def fun(self):
super(C, self).fun()
super(A, self).fun()
# super().fun()#python3以上语法
print('CCCC')
pass class D(B,A):
def __init__(self):
super(D,self).__init__()
super(B, self).__init__()
# super().__init__()#python3以上语法
print('D:我是肯定会执行的!!') def fun(self):
super(D, self).fun()
super(B, self).fun()
# super().fun()#python3以上语法
print('DDDD')
pass f1=C()
print(C.__mro__)#显示继承顺序,从子到父
f1.fun()
f1.fun_A()
print('---------------------------')
f2=D()
print(D.__mro__)#显示继承顺序,从子到父
f2.fun()
f2.fun_A()
输出:
A:我是肯定会执行的!!
B:我是肯定会执行的!!
C:我是肯定会执行的!!
(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <type 'object'>)
AAAA
BBBB
CCCC
这是A单独有的!!
---------------------------
B:我是肯定会执行的!!
A:我是肯定会执行的!!
D:我是肯定会执行的!!
(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.A'>, <type 'object'>)
BBBB
AAAA
DDDD
这是A单独有的!!
python 多态
#-*- coding:utf-8 -*-
class animal:
def run(self):
pass class people(animal):
def run(self):
print('people is walking!!') class pig(animal):
def run(self):
print('pig is walking!!') class dog(animal):
def run(self):
print('dog is walking!!') class fun(object):
def run(self,obj):
obj.run() f=fun()#在这种情况下,由animal定义方法名,直接调用fun的方法,实现多态,统一接口
f.run(people())
f.run(pig())
f.run(dog()) 输出:
people is walking!!
pig is walking!!
dog is walking!!
最新文章
- Ruby On Rails 环境搭建MySQL数据库连接
- 四则运算GUI版本功能展现
- 软件推荐 - Source Insight
- 【Unity3D基础教程】给初学者看的Unity教程(六):理解Unity的新GUI系统(UGUI)
- Domain many-to-many
- 64位下好神奇啊(增加了PatchGuard技术保护自己,SSDT是相对地址,参数通过寄存器与rdi来传递)
- QueryPerformanceFrequency 和 QueryPerformanceCounter用法
- PHP 文字,图片水印,缩略图,裁切成小图(大小变小)
- 批处理就是windows的杰作啊
- spring cloud之坑,访问服务时找不到报404
- 谈一谈泛型(Generic)
- Node.js 事件循环机制
- Py之Crawler:利用python的爬虫功能实现从各种网站上(以百度贴吧为例)获得你喜欢的照片下载到本地电脑上——Jason niu
- docker系列(1)- 配置
- JS:Math 对象方法
- Gym - 101480 CERC 15:部分题目题解(队内第N次训练)
- QSetting 说明和简单使用
- 【ElasticSearch】:Mapping相关
- Codeforces.1027F.Session in BSU(思路 并查集)
- IDEA maven项目下测试mybatis例子,使用mappper class或package引入mapper映射文件,总是报错Invalid bound statement(所有配置完全正确)