Learn what object-oriented programming (OOP) is, how it differs from procedural programming, and how it can be applied. You'll define your own custom classes containing methods, attributes, and constructors, and use them to create objects!
Discover two of OOP's core concepts: inheritance and polymorphism. Learn how to implement them to minimize code re-use and extend functionality, along with reviewing the differences between class-level data and instance-level data.
Learn how to compare objects, define and customize string representations of objects, and even how to apply inheritance to create and catch custom exceptions, enabling bespoke error-handling.