目录
1,继承
2,多态
1,继承
# 继承:子类可以继承父类的属性和方法
class child_class(parent_class1, parent_class2):
def __init__(self, variable1, variable2, variable3): # 子类通常在构造方法中调用父类的构造方法
super().__init__(variable1) # 第一种调用方法:只有第一个父类可以使用
parent_class2.__init__(self, variable2) # 第二种调用方法:所有父类都可以使用
pass # 处理子类的构造方法中独有的参数:variable3
# 调用方法时的优先级是:child_class > parent_class1 > parent_class2
# super()也可用于调用第一个父类的方法:super().function(variable)。这种调用只能在定义类时使用。
2,多态
# 多态
class Animal():
def speak(self):
print("this is animal")
class Cat(Animal): # 实现多态第一步:继承父类
def speak(self): # 实现多态第二步:重写方法
print("miao miao")
class Dog(Animal):
def speak(self):
print("wang wang")
def speak(animal_name):
animal_name.speak()
cat = Cat()
dog = Dog()
speak(cat) # 由此可以看出多态的优点:①继承实现了同一个父类的不同形态;②重写使得方法调用十分方便
speak(dog)
|