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?