# Posted By

Cesco on 06/25/10

# Statistics

Viewed 537 times
Favorited by 2 user(s)

# Example of class inheritance and method overriding in Python

/ Published in: Python

This simple example will show you how to inherit a class from a parent class. I have to apologise for some grammar mistakes that I've probably put in the comments, but English is not my native language.

If you execute this code, the output will be:

Here comes Lois Lane

Here comes Jimmy Olsen

Here comes Clark Kent

...but his secret identity is 'Superman' and he's a super-hero!

--> Let's see what a man can do:

Jimmy Olsen walks

Lois Lane says: 'Oh no, we're in danger!'

--> Let's see what a superman can do:

Clark Kent walks

Clark Kent says: 'This is a job for SUPERMAN!'

Superman run at the speed of light

Superman fly up in the sky

Superman uses his x-ray vision

Copy this code and paste it in your HTML
`#!/usr/bin/env python class man(object):     # name of the man    name = ""     def __init__(self, P_name):        """ Class constructor """        self.name = P_name        print("Here comes " + self.name)     def talk(self, P_message):                print(self.name + " says: '" + P_message + "'")             def walk(self):        """ This let an instance of a man to walk """        print(self.name + " walks") # This class inherits from Man class# A superman has all the powers of a man (A.K.A. Methods and Properties in our case ;-)class superman(man):     # Name of his secret identity    secret_identity = ""     def __init__(self, P_name, P_secret_identity):        """ Class constructor that overrides its parent class constructor"""        # Invokes the class constructor of the parent class #        super(superman, self).__init__(P_name)        # Now let's add a secret identity        self.secret_identity = P_secret_identity        print("...but his secret identity is '" + self.secret_identity + "' and he's a super-hero!")     def walk(self, P_super_speed = False):        # Overrides the normal walk, because a superman can walk at a normal        # pace or run at the speed of light!        if (not P_super_speed): super(superman, self).walk()        else: print(self.secret_identity + " run at the speed of light")     def fly(self):        """ This let an instance of a superman to fly """        # No man can do this!        print(self.secret_identity + " fly up in the sky")     def x_ray(self):        """ This let an instance of a superman to use his x-ray vision """        # No man can do this!        print(self.secret_identity + " uses his x-ray vision")  # Declare some instances of man and supermanlois = man("Lois Lane")jimmy = man("Jimmy Olsen")clark = superman("Clark Kent", "Superman") # Let's puth them into action! print("\n--> Let's see what a man can do:\n")jimmy.walk()lois.talk("Oh no, we're in danger!") print("\n--> Let's see what a superman can do:\n")clark.walk()clark.talk("This is a job for SUPERMAN!")clark.walk(True)clark.fly()clark.x_ray()`