python多型簡單例項
阿新 • • 發佈:2018-12-23
import abc # 制定規則 class BaseObj(metaclass=abc.ABCMeta): # 吃 @abc.abstractmethod def eat(self): pass # 說 @abc.abstractmethod def say(self): pass # 睡 @abc.abstractmethod def sleep(self): pass # 定義人類 class People(BaseObj): def eat(self): print('人吃') def say(self): print('人說') def sleep(self): print('人睡') # 定義狗類 class Dog(BaseObj): def eat(self): print('狗吃') def say(self): print('狗說') def sleep(self): print('狗睡') # 定義行為類 class Action: def __init__(self,obj): self.obj = obj def eat(self): self.obj.eat() def say(self): self.obj.say() def sleep(self): self.obj.sleep() people =Action(Dog()) people.say() people.eat() people.sleep()