您的位置:首页 > 编程语言 > Python开发

Python super执行基类的构造方法

2016-12-04 00:00 239 查看
有一个需求是这样的,先有一个Machine的类,有通用的name、position、date属性,然后又出现了一个Server的类继承Machine类,但是Server类多出一个ipaddr的属性,所以这时就要在Server中重写__init__构造方法,新增一个ipaddr参数,如果想使用父类中已经定义好的方法,就需要使用super执行基类的构造方法把name、position、date三个参数传递给父类。

1 class Machine(object):
2
3     def __init__(self, name, position, date):
4         self.name = name
5         self.position = position
6         self.date = date
7
8     def getinfo(self):
9         return self.name, self.position
10
11     def getdate(self):
12         return self.date
13
14
15 class Server(Machine):
16
17     def __init__(self, name, position, date, ipaddr):
18         self.ipaddr = ipaddr
19         super(Server, self).__init__(name, position, date)
20
21     def getaddr(self):
22         return self.ipaddr
23
24 s = Server('cnsz003621', 'position1', '2017/02/23', '10.10.2.77')
25 r = s.getinfo()
26 r2 = s.getaddr()
27 print(r, r2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: