zoukankan      html  css  js  c++  java
  • Python super执行基类的构造方法

    有一个需求是这样的,先有一个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)
  • 相关阅读:
    Day4
    Day 4 -E
    Day4
    Day4
    Day4
    Day4
    Day4-F-产生冠军 HDU
    Day4
    Day4-B-最短路径问题 HDU3790
    HackerRank
  • 原文地址:https://www.cnblogs.com/raykuan/p/6130054.html
Copyright © 2011-2022 走看看