Chapter 3. When Objects are Alike
In the programming world, duplicate code is considered evil. We should not have multiple copies of the same, or similar code in different places.
There are many ways to merge similar pieces of code or objects with similar functionality. In this chapter, we'll be covering the most famous object-oriented principle: inheritance. As discussed in Chapter 1, inheritance allows us to create "is a" relationships between two or more classes, abstracting common details into superclasses and storing specific ones in the subclass. In particular, we'll be covering the Python syntax and principles for:
Basic inheritance
Inheriting from built-ins
Multiple inheritance
Polymorphism and duck typing