Abstract Classes and Methods

Abstract class:

  • It's only meant to be inherited from

  • You should not be creating instances from this

class Animal:
	def __init__(self, name):
		self.animal_name = name
		
	def eat(self):
		# raise is used to throw error
		raise NotImplementedError("Child class should be implementing this")
		
class Monkey(Animal):
	def eat(self):
		print("Monkey eating bananas...")
		
class Bird(Animal):
	def eat(self):
		print("Bird eating seeds...")
		
	def fly(self):
		print("Bird soaring high...")
		
my_monkey = Monkey("jojo")
my_monkey() # Will print monkey eating bananas
  • You get the base functionality from the main function (Animal)

  • You define the rest of the functionality in other classes like Monkey or Bird

Last updated