Lesson 12: super() — extending the constructor
What if the child has extra data the parent lacks — a dog's breed, say? It gets its own __init__, but we don't copy the parent's: we call it with super().__init__(...) and add only what's new. True reuse, zero duplication.