<< Chapter < Page Chapter >> Page >

Inheritance is extremely important in C++ and Java primarily because of the use of runtime polymorphism in program design.However, due to the lack of polymorphism, inheritance in Python is not nearly as important as in those other two languages. Although it may have some other uses, inheritance in Python appearsmainly to be a convenient way to reduce the amount of typing required to write a program.

According to tutorialspoint--Python Objected Oriented , Python inheritance is

"The transfer of the characteristics of a class to other classes that are derived from it."

While that can sometimes be a useful capability, it is simply one of many useful capabilities that exist in Python

Multiple inheritance

C++ supports a concept know as multiple inheritance , which often results in significant programming errors for novice programmers. Multipleinheritance is so problematic that the designers of Java excluded it from the language and replaced it with a safer alternative known as the Java interface .

Python also supports multiple inheritance. Because of the general lack of safety nets in Python, in my opinion, multiple inheritance is more problematicfor novice programmers in Python than in C++. My advice -- don't use Python multiple inheritance for any serious programming effort until you become a verycapable Python programmer.

Very brief coverage

As a result of the issues mentioned above, this module will provide only a very brief treatment of inheritance in Python. If you need to learn more aboutinheritance, I will refer you to the following documents that are available on the web as of October 2014.

Discussion and sample code

I will present and explain a simple program to give you a taste of inheritance. A complete listing of the program is provided in Listing 6 . The output produced by running the program is shown in Figure 4 . As usual, I will break the program down and explain it in fragments.

Define the superclass

Listing 1 defines a class named Superclass that will be the superclass or the base class for another class named Subclass . In other words, the class named Subclass will inherit from the class named Superclass or will extend the class named Superclass , whichever jargon you prefer. (A visualization of the program uses the word extends to indicate inheritance.)

Depending on your preferred jargon, Superclass will be the base class or the superclass . Subclass will be the derived class or the subclass .

Listing 1 . Define the superclass.
#Define the superclass class Superclass(object):superclassVar = Truedef __init__(self,name): Superclass.superclassVar = nameself.friend = "Tom"

The code in Listing 1 creates a class variable named superclassVar and initializes its value to True .

The code in Listing 1 also defines an initializer or constructor method named __init__ . When this method is executed, it changes the value stored in superclassVar from True to the value of an incoming parameter named name .

The __init__ method also creates an instance variable named friend in the object referred to by self and initializes that variable to contain "Tom" .

Questions & Answers

what is biology
Hajah Reply
the study of living organisms and their interactions with one another and their environments
AI-Robot
what is biology
Victoria Reply
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
lack electricity and its more savely than electronic microscope because its naturally by using of light
Abdullahi Reply
advantage of electronic microscope is easily and clearly while disadvantage is dangerous because its electronic. advantage of light microscope is savely and naturally by sun while disadvantage is not easily,means its not sharp and not clear
Abdullahi
cell theory state that every organisms composed of one or more cell,cell is the basic unit of life
Abdullahi
is like gone fail us
DENG
cells is the basic structure and functions of all living things
Ramadan
What is classification
ISCONT Reply
is organisms that are similar into groups called tara
Yamosa
in what situation (s) would be the use of a scanning electron microscope be ideal and why?
Kenna Reply
A scanning electron microscope (SEM) is ideal for situations requiring high-resolution imaging of surfaces. It is commonly used in materials science, biology, and geology to examine the topography and composition of samples at a nanoscale level. SEM is particularly useful for studying fine details,
Hilary
cell is the building block of life.
Condoleezza Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  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.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask