Inheritance and Polymorphism

Inheritance:

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):

  • 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

Last updated