Inheritance
6 Topics
1
Single Inheritance
Inheriting from one parent class and extending behavior
Fundamental OOP — tests understanding of is-a relationships, method overriding, and the Liskov Substitution Principle
2
Multiple Inheritance
Inheriting from multiple parent classes and the diamond problem
Advanced OOP — tests understanding of MRO, diamond problem, and when multiple inheritance is appropriate
3
super() Function
Calling parent class methods and cooperative multiple inheritance
Essential — tests understanding of super() with __init__, cooperative inheritance, and MRO-based dispatch
4
Method Overriding
Replacing and extending parent method behavior
Core polymorphism concept — tests understanding of override vs overload, LSP, and extension patterns
5
Method Resolution Order (MRO)
C3 linearization and how Python resolves method lookups
Advanced Python — tests understanding of MRO algorithm, diamond problem resolution, and super() behavior
6
Mixins
Reusable functionality through multiple inheritance
Design patterns — tests understanding of mixin best practices, naming conventions, and cooperative inheritance