python中子类继承父类的__init__方法实例
作者:jihite 时间:2022-05-27 19:37:21
前言
使用Python写过面向对象的代码的同学,可能对 __init__
方法已经非常熟悉了,__init__
方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。
注意:这个名称的开始和结尾都是双下划线。
父类A
class A(object):
def __init__(self, name):
self.name=name
print "name:", self.name
def getName(self):
return 'A ' + self.name
子类不重写__init__
, 实例化子类时,会自动调用父类定义的__init__
class B(A):
def getName(self):
return 'B '+self.name
if __name__=='__main__':
b=B('hello')
print b.getName()
执行
$python lei2.py
name: hello
B hello
但重写了__init__
时,实例化子类,就不会调用父类已经定义的__init__
class A(object):
def __init__(self, name):
self.name=name
print "name:", self.name
def getName(self):
return 'A ' + self.name
class B(A):
def __init__(self, name):
print "hi"
self.name = name
def getName(self):
return 'B '+self.name
if __name__=='__main__':
b=B('hello')
print b.getName()
执行
$python lei2.py
hi
B hello
为了能使用或扩展父类的行为,最好显示调用父类的__init__
方法
class A(object):
def __init__(self, name):
self.name=name
print "name:", self.name
def getName(self):
return 'A ' + self.name
class B(A):
def __init__(self, name):
super(B, self).__init__(name)
print "hi"
self.name = name
def getName(self):
return 'B '+self.name
if __name__=='__main__':
b=B('hello')
print b.getName()
执行
$python lei2.py
name: hello
hi
B hello
来源:http://www.cnblogs.com/kaituorensheng/p/5693677.html
标签:python,子类,父类,init
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python实现textrank关键词提取
2021-11-01 16:47:58
python 模拟银行转账功能过程详解
2021-07-16 02:49:15
![](https://img.aspxhome.com/file/2023/5/68295_0s.png)
js实现黑白div块画空心的图形
2023-08-29 07:24:21
![](https://img.aspxhome.com/file/2023/7/56177_0s.jpg)
Java连接sqlserver2008数据库代码
2023-07-02 10:22:17
我所钟爱的HTML5资源
2010-07-23 09:25:00
![](https://img.aspxhome.com/file/UploadPic/20107/23/01-73s.jpg)
ASP.NET Core MVC基础学习之局部视图(Partial Views)
2023-07-19 21:02:37
asp如何最准确地统计在线用户数?
2010-07-11 21:12:00
Django中实现点击图片链接强制直接下载的方法
2023-08-03 13:29:19
解决pycharm中导入自己写的.py函数出错问题
2023-07-09 12:12:05
![](https://img.aspxhome.com/file/2023/2/60302_0s.jpg)
超级连接的title提示中如何换行实现多行显示
2008-03-07 15:57:00
PHP levenshtein()函数用法讲解
2023-06-01 15:20:29
![](https://img.aspxhome.com/file/2023/0/55380_0s.png)
注册和填表中常见的中英文对照
2008-07-26 12:12:00
使用面向对象的技术创建高级JavaScript Web 应用程序
2008-11-03 13:00:00
![](https://img.aspxhome.com/file/UploadPic/200811/3/code-21s.gif)
ASP程序中使用断开的数据记录集的代码
2012-12-04 20:20:28
MSSQL 基本语法及实例操作语句
2012-07-11 15:40:09
服务端XMLHTTP(ServerXMLHTTP in ASP)进阶应用-User Agent伪装
2008-11-11 12:29:00
![](https://img.aspxhome.com/file/UploadPic/200811/11/if8l_googlerss-96s.png)
Form Post提交容量大的数据
2011-03-31 10:53:00
Photoshop设计制作网站流程图解
2007-10-25 12:06:00
![](https://img.aspxhome.com/file/UploadPic/200711/3/2007113203253675s.gif)
PHP获取特殊时间戳的方法整理
2023-05-25 00:47:36
Python 聊聊socket中的listen()参数(数字)到底代表什么
2022-10-17 00:49:25
![](https://img.aspxhome.com/file/2023/9/64239_0s.png)