Python | Child Classes
Start your free 7-days trial now!
We can create a new class based on an already existing class. The new class, referred to as the child class, will inherit all attributes and methods from the existing class, referred to as the parent class. In addition, we can define additional attributes and methods that are specific to the child class.
Example
To create a child class Dog
based on the parent class Animal
:
class Animal(): # This is constructor for python def __init__(self, name, age): self.name = name
def print_attribute(self): print("I have legs!")
class Dog(Animal): # Name of the parent class must be included within the brackets # This is constructor for python def __init__(self, name, age): super().__init__(name, age) # Notice how we do not need self parameter here # Method specific to the Dog class def speak(self): print("I am a " + str(self.age) + " year old " + self.name)
my_dog = Dog("Roxas", 26) my_dog.print_attribute()
I have legs!
The super()
method allows us to reference a temporary object of the parent class. Therefore, when we initialize an object from class Dog
, we are actually calling the __init__
constructor from class Animal
.
The advantage of super()
is that it allows us to avoid explicitly referring to the parent class. Therefore, we can easily change the parent class name if needed without disrupting our program.