3.6 Recall
Here are some key points from this chapter:
-
A central object-oriented design principle is inheritance: a subclass can inherit aspects of a superclass, saving copy-and-paste programming. A subclass can extend the superclass to add features or specialize the superclass in other ways.
-
Multiple inheritance is a feature of Python. The most common form is a host class with mixin class definitions. We can combine multiple classes leveraging the method resolution order to handle common features such as initialization.
-
Polymorphism lets us create multiple classes that provide alternative implementations for fulfilling a contract. Because of Python’s duck typing rules, any classes that have the right methods can substitute for each other.