from abc import ABCMeta, abstractclassmethod
class Pet(object, metaclass=ABCMeta):
""" Pet Class"""
def __init__(self, nickname):
self._nickname = nickname
@abstractclassmethod
def make_sound(cls):
""" Make a sound """
pass
class Dog(Pet):
""" Dog """
def make_sound(self):
print("Dog %s barks!" % self._nickname)
class Cat(Pet):
""" Cat """
def make_sound(self):
print("Cat %s meows!" % self._nickname)
def main():
pets = [Dog("Jack"), Cat("Tom")]
for pet in pets:
pet.make_sound()
if __name__ == "__main__":
main()
Dog Jack barks!
Cat Tom meows!
网友评论