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. When we fix a bug (or add a feature) in one copy and fail to make the same change in another copy, we cause no end of problems for ourselves.
There are many ways to merge pieces of code or objects that have a 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 logic into superclasses and extending the superclass with specific details in each subclass. In particular, we’ll be covering the Python syntax and principles for the following:
-
The inheritance relationship
-
Using inheritance to write Python classes
-
Using...