1. Single Inheritance and super()
Initializing Base Class State
- A derived class inherits public methods from its base class: `class Child(Parent):`.
- `super().__init__(...)` delegates initialization to the parent class, ensuring base class state is properly constructed before derived initialization.
- Subclasses can override base methods to specialize behavior.
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def get_role(self):
return "Standard Employee"
class Manager(Employee):
def __init__(self, name, salary, team_size):
super().__init__(name, salary)
self.team_size = team_size
def get_role(self):
return f"Manager leading {self.team_size} engineers"
m = Manager("Sarah", 120000, 8)
print(m.name, "->", m.get_role())