<< Chapter < Page Chapter >> Page >

Define the subclass

The class named Subclass , which extends Superclass , is defined in Listing 2 . This class alsodefines a constructor method named __init__ , which in turn calls the __init__ method of Superclass , passing its own incoming parameters to the superclass constructor method.

Listing 2 . Define a subclass that extends or inherits from Superclass.
#Define a subclass that extends or inherits from Superclass class Subclass(Superclass):def __init__(self,name): Superclass.__init__(self,name)print(self.friend)

The method named __init__ in Subclass also prints the value of the variable named friend when it is executed.

When you instantiate a new object of a class that contains a method named __init__, that method is automatically called and a reference to theobject is automatically passed as the first parameter to the method. However, if you write code that explicitly calls __init__, you must explicitly pass thatparameter along with any other required parameters as shown in Listing 2.

Exercise the classes

The remaining program code is designed to exercise the classes and to illustrate the behavior of inheritance in Python. The code that exercises the classes begins in Listing 3 .

Display the value of the class variable

The code in Listing 3 gets and prints the initial value stored in the class variable named superclassVar , producing the output shown in Figure 1 .

Listing 3 . Display the value of the class variable.
#Code that exercises the classes print(Superclass.superclassVar)

As you can see, at this point in the program, the class variable contains the value True that was placed there when the class variable was created by the code in Listing 1 .

Figure 1 . Output from the code in Listing 3.
True

Instantiate a Subclass object

The code in Listing 4 instantiates an object of the class named Subclass passing "Joe" as a parameter to the __init__ method belonging to that class. (As you will recall, that __init__ method is automatically called when the object is instantiated.)

Figure 2 shows the output produced by executing the code in Listing 4 .

Listing 4 . Instantiate a Subclass object.
ref = Subclass("Joe") print(ref.superclassVar)

As you saw in Listing 2 , the __init__ method in the class named Subclass calls the method named __init__ in the class named Superclass passing both of its incoming parameters as parameters to the __init__ method in the class named Superclass . As you saw in Listing 1 , that method replaces the value True in superclassVar with one of its incoming parameters,which in this case is "Joe" .

The code in the method named __init__ in the class named Subclass in Listing 2 also prints the value of the variable named friend (which is created and initialized by the __init__ method in the class named Superclass in Listing 1 ) . This produces the first line of output text (Tom) shown in Figure 2 .

The code in Listing 4 also uses the reference to the Subclass object to get and print the value of the class variable named superclassVar from the class named Superclass , producing the second line of output text in Figure 2 (Joe) .

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