Polymorphism
Method Overriding
Method Overloading
Polymorphism and different types of overriding
Adding behaviour by adding classes without touching existing code
Virtual functions