Skip to main content
Library homepage
 

Text Color

Text Size

 

Margin Size

 

Font Type

Enable Dyslexic Font
Engineering LibreTexts

13.6: Chapter Summary

( \newcommand{\kernel}{\mathrm{null}\,}\)

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.

Task Example
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
Table 13.2 Chapter 13 reference.

This page titled 13.6: Chapter Summary is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by OpenStax via source content that was edited to the style and standards of the LibreTexts platform.

Support Center

How can we help?