class Vehicle:
vehicle_counter = 0
def __init__(self, body_type, make):
self.vehicle_body = body_type
self.vehicle_make = make
Vehicle.vehicle_counter += 1
def get_vehicle_count(self):
retunr Vehicle.vehicle_counter
class Truck(Vehicle):
# By specifying Vehicle in parantheses the truck class iherits the propreties of the vehicle class
# So to create a truck you would use
truck1 = 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):
class Vehicle:
vehicle_counter = 0
def __init__(self, body_type, make):
self.vehicle_body = body_type
self.vehicle_make = make
Vehicle.vehicle_counter += 1
def get_vehicle_count(self):
retunr Vehicle.vehicle_counter
def drive(self):
print('vehicle driving...')
class Truck(Vehicle): # Inherits the Vehicle functionality
def drive(self): # Overwrites the drive method from the Vehicle class
print("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