• Source
    1. class Animal:
    2. def __init__(self, name): # Constructor of the class
    3. self.name = name
    4. def talk(self): # Abstract method, defined by convention only
    5. raise NotImplementedError("Subclass must implement abstract method")
    6.  
    7. class Cat(Animal):
    8. def talk(self):
    9. return 'Meow!'
    10.  
    11. class Dog(Animal):
    12. def talk(self):
    13. return 'Woof! Woof!'
    14.  
    15. animals = [Cat('Missy'),
    16. Cat('Mr. Mistoffelees'),
    17. Dog('Lassie')]
    18.  
    19. for animal in animals:
    20. print animal.name + ': ' + animal.talk()