python类继承中构造子的调用
2024-08-31 22:10:50
python面向对象中的继承关系中,子类对父类的构造方法的调用有两种方法:
父类名.__init__(self,参数) #注意名字是父类
super(本子类名,self)__init__(其他参数) #注意名字是本身子类,而且init后是self之外的参
例子程序代码:
# -*- coding:utf-8 -*-
class Person(object):
__metaclass__=type
def __init__(self,name="Jim"):
"父类的构造方法,包含初始化属性name"
self.name=name
self.flag=False
print "Person",self.name
def call(self):
print self.flag,"name:",self.name
self.flag = not self.flag
class Programmer(Person):
__metaclass__=type
def __init__(self):
"子类的构造方法,调用父类的构造方法,初始化属性flag"
#调用方式1
Person.__init__(self,"DOTJAR")
print "Programmer"
def setName(self,name="prgrmr"):
self.name=name
class Athlete(Person):
__metaclass__=type
def __init__(self,name="PaoZhu"):
"子类的构造方法,调用父类的构造方法,初始化属性flag"
#调用方式2 注意无参
super(Athlete,self).__init__(name)
print "Athlete"
def setName(self,name="athlete"):
self.name=name
coder=Programmer()
coder.call()
coder.setName("dotjar")
coder.call()
print("----------------")
athlete=Athlete()
athlete.call()
athlete.setName("LiuXiang")
athlete.call()
输出为:
Person DOTJAR
Programmer
False name: DOTJAR
True name: dotjar
<class '__main__.Programmer'>
----------------
Person PaoZhu
Athlete
False name: PaoZhu
True name: LiuXiang
最新文章
- 浅述python中argsort()函数的用法
- Linux网关配置(centos6)
- 如何查询Oracle中所有用户信息
- iOS10 UI教程视图的边界与视图的框架
- ActiveMQ第二弹:使用Spring JMS与ActiveMQ通讯
- IOS基础之 (十一) 内存管理 ARC
- android 自动化压力测试-monkey 1 实践
- JavaScript用JQuery呼叫Server端方法
- C++模板之类型与数据绑定
- Mr.聂 带你成为web开发大牛——入门篇(上)
- 十六、Hadoop学习笔记————Zookeeper实战
- 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(1)-Web前端页面
- 20164310Exp6 信息搜索和漏洞扫描
- MFC Bresesnham算法
- puppeteer端对端测试demo
- pom.xml文件最详细的讲解
- python学习笔记_week25
- SP11469 SUBSET-Balanced Cow Subsets meet-in-the-middle+状压
- JavaScript:正则表达式 问号
- 哈夫曼编码(Huffman coding)的那些事,(编码技术介绍和程序实现)
热门文章
- 跟我一起学.NetCore之熟悉的接口权限验证不能少(Jwt)
- IOS使用UITextView进行富文本编辑|纯干货
- 自定义Antd Pro 默认元素
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)解决方案
- 汕尾6397.7539(薇)xiaojie:汕尾哪里有xiaomei
- pytest使用小结
- sublime text2的插件
- centos8平台上php7.4的生产环境配置
- 如何将vscode代码快速同步到github/gitee上
- 2020年的UWP(2)——In Process App Service