有一个需求是这样的,先有一个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)

 

相关文章:

  • 2021-06-29
  • 2022-12-23
  • 2021-06-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
猜你喜欢
  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
  • 2022-01-13
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案