class Weapon:
def __init__(self,color):
self.color = color
def reach(self):
print("射程")
class Ak47(Weapon):
def __init__(self,color,type):
Weapon.__init__(self,color) # 调用父类方法
self.type = type
def reach(self):
Weapon.reach(self) # 调用父类方法
print("%s的ak47的射程300m"%(self.color))
w = Ak47("黑色","gun")
w.reach()
上面的调用父类的方法不方便扩展代码。可以用super()代替上面的写法,如下:
class Weapon:
def __init__(self,color):
self.color = color
def reach(self):
print("射程")
class Ak47(Weapon):
def __init__(self,color,type):
#Weapon.__init__(self,color) # 调用父类方法
super().__init__(color)
self.type = type
def reach(self):
#Weapon.reach(self) # 调用父类方法
super().reach()
print("%s的ak47的射程300m"%(self.color))
w = Ak47("黑色","gun")
w.reach()