Table of contents
- Preface
- General background information
- Discussion and sample code
- Run the program
- Visualize the program
- Complete program listing
- Miscellaneous
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.)