classVehicle: vehicle_counter =0def__init__(self,body_type,make): self.vehicle_body = body_type self.vehicle_make = make Vehicle.vehicle_counter +=1defget_vehicle_count(self): retunr Vehicle.vehicle_counterclassTruck(Vehicle): # By specifying Vehicle in parantheses the truck class iherits the propreties of the vehicle class# So to create a truck you would usetruck1 =Truck('big rig', 'mercedes')truck2 =Truck('small rig', 'Chevy')truck3 =Truck('big rig', 'toyota')truck3.get_vehicle_count # This gets the actual count of vehicles
Based on the Truck class definition it is a Vehicle
This increments the Vehicle counter accordingly
Truck class must be used the same way as specified in the constructor of the Vehicle class
Truck class inherits the Vehicle functionality
Polymorphism (or Method Overwriting):
classVehicle: vehicle_counter =0def__init__(self,body_type,make): self.vehicle_body = body_type self.vehicle_make = make Vehicle.vehicle_counter +=1defget_vehicle_count(self): retunr Vehicle.vehicle_counterdefdrive(self):print('vehicle driving...')classTruck(Vehicle): # Inherits the Vehicle functionalitydefdrive(self): # Overwrites the drive method from the Vehicle classprint("Truck driving...")# By overwriting this prints specific instanced message instead
The Truck class is also called a child-class or a sub-class of a class
The Vehicle class is also called a base-class or a parent-class