Inheritance and Special Methods
A class does not have to start from nothing. A Dog is a kind of Animal, and a savings account is a kind of bank account. In this course you build one class on another with inheritance, replace a method in the child class, and let objects of different classes answer the same call in their own way, which is called polymorphism. You teach your own objects to work with print, equality, sorting, adding and len by writing special methods, and you learn when to build on a class and when to put one object inside another. A deck of playing cards is the project at the end. The practice runs your classes on real cases and tells you which ones fail.