This page is optimized for mobile devices, if you would prefer the desktop version just click here

3.8 Itse1359-1450-inheritance

You will learn a little about Python class inheritance in this module.

Table of contents

Preface

This module is one in a collection of modules on Python designed for teaching ITSE 1359 Introduction to Scripting Languages: Python at Austin Community College in Austin, TX.

What you have learned

Earlier modules provided

  • an overview of classes and objects in Python,
  • an explanation of the self word in Python class definitions,
  • a detailed explanation of instance variables in Python class definitions, and
  • some of the details regarding class variables in Python class definitions.

What you will learn

You will learn a little about Python class inheritance in this module.

Viewing tip

I recommend that you open another copy of this module in a separate browser window and use the following links to easily find and view the Figuresand the Listings while you are reading about them.

(Note to blind and visually impaired students: most of the Figures and all of the Listings inthis module are presented in plain text format and should be accessible using an audio screen reader or a braille display. Note however that the requiredindentation may not be properly represented by an audio screen reader.)

Figures

  • Figure 1 . Output from the code in Listing 3.
  • Figure 2 . Output from the code in Listing 4.
  • Figure 3 . Output from the code in Listing 5.
  • Figure 4 . Output from code in Listing 6.

Listings

  • Listing 1 . Define the superclass.
  • Listing 2 . Define a subclass that extends or inherits from Superclass.
  • Listing 3 . Display the value of the class variable.
  • Listing 4 . Instantiate a Subclass object.
  • Listing 5 . Modify and then print the value in superclassVar.
  • Listing 6 . Complete program listing.

General background information

I told you in an earlier module that OOP is an abbreviation for Object-Oriented Programming. I told you that most books on OOP will tell youthat in order to understand OOP, you need to understand the following three concepts :

  • Encapsulation
  • Inheritance
  • Polymorphism

I have discussed encapsulation in some detail in previous modules. As near as I can tell, unlike C++ and Java, Python does not support polymorphism, at leastnot in any significant way.

Inheritance

C++ and Java support two forms of polymorphism:

  • Compile-time polymorphism
  • Runtime polymorphism

Both of these depend on the "strongly-typed" nature of C++ and Java. Runtime polymorphism using virtual functions and base-class pointersalso depends on inheritance.

Because Python is a "weakly-typed" (if typed at all) programming language, I don't know how to implement either form of polymorphism using Python. (However, if I am wrong on this, I will be happy to learn how to implement polymorphism in Python.)

<< Chapter < Page Page > Chapter >>

Read also:

OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.