Q19: How do Abstract Base Classes (ABC) enforce interface contracts?
Using abc.ABC and @abstractmethod marks methods that must be implemented by concrete subclasses. Instantiating a subclass that lacks overrides for abstract methods throws a TypeError at runtime instantiation.
Key Takeaways
- Enforces sub-class method implementation contracts.
- Prevents direct instantiation of incomplete interface classes.
Knowledge Check
When is a TypeError raised if a subclass fails to implement an @abstractmethod?