Introduction to Python ProgrammingXYZ Homework Edition

⇩ Download ▾

13.6 Chapter summary

Highlights from this chapter include:

  • Inheritance describes an is-a relationship between classes. One class, the subclass, inherits from another class, the superclass.
  • Subclasses can access inherited attributes and methods directly.
  • Subclasses can override superclass methods to change or add functionality.
  • super allows a subclass to access the methods of the superclass.
  • Polymorphism describes a single representation for multiple forms and is applied in Python to define multiple methods with the same name and allow the same method to take different arguments.
  • Hierarchical inheritance is a type of inheritance in which multiple classes inherit from a single superclass.
  • Multiple inheritance is a type of inheritance in which one class inherits from multiple classes.
  • Mixin classes are used in multiple inheritance to add functionality to a subclass without adding inheritance concerns.

At this point, you should be able to write subclasses that inherit instance attributes and methods, and subclasses that have unique attributes and overridden methods. You should also be able to create hierarchical inheritance relationships and multiple inheritance relationships between classes.

Table 13.2 Chapter 13 reference.
TaskExample
Define a subclass class SuperClass:   pass class SubClass(SuperClass):   pass
Define a subclass's __init__ using super class SubClass(SuperClass):   def __init__(self):     super.__init__ # Calls superclass __init__     # Initialize subclass instance attributes
Override a superclass method class SuperClass:   def display(self):     print('Superclass method') class SubClass(SuperClass):   def display(self): # Same name as superclass method     print('Subclass method')
Implement hierarchical inheritance class SuperClass:   def display(self):     print('Superclass method') class SubClass1(SuperClass):   def display(self):     print('Subclass 1 method ') class SubClass2(SuperClass):   def display(self):   print('Subclass 2 method') class SubClass3(SuperClass):   def display(self):     print('Subclass 3 method')
Implement multiple inheritance class SuperClass1:     pass class SuperClass2:     pass class SubClass(SuperClass1, SuperClass2):     pass

Adapted from Introduction to Python Programming by OpenStax (openstax.org), licensed under CC BY-NC-SA 4.0. Changes were made. License: CC-BY-NC-SA-4.0.

These eBooks are a prerelease and are not yet certified conformant with WCAG 2.1 AA or ADA Title II. Every page is built against an automated accessibility gate, and the published editions will meet ADA Title II requirements when they release in late September 2026. If something is unusable, please tell us.