多态
多态实现的条件:继承,父类方法重写
多态的目的:接口重用。一个接口,传进来不同的对象,执行的同样的方法,得到不同的结果。
例如,定义一个父类:打印机。两个子类:彩色打印机,黑白打印机。
定义一个人类,具有使用打印机的方法,使用不同的打印机,打印出不同的结果。
class Printer(object):
def print_something(self):
pass
class ColorPrinter(Printer):
def print_something(self):
print("打印出彩色的内容")
class BlackPrinter(Printer):
def print_something(self):
print("打印出黑白的内容")
class Person(object):
def make_print(self, obj):
obj.print_something()
bp = BlackPrinter()
cp = ColorPrinter()
xiaoming = Person()
xiaoming.make_print(cp) # 传入cp时,结果为:打印出彩色的内容。传入bp时,结果为:打印出黑白的内容