🧱 Introduction to Inheritance
Inheritance is a core concept in object-oriented programming (OOP) that allows classes to inherit properties and methods from other classes. This promotes code reusability and establishes a relationship between parent and child classes.
- Parent Class (Superclass): Defines common attributes and behaviors.
- Child Class (Subclass): Inherits and can extend or override functionality.
- 📌 Example: A
Vehicle
class can be the superclass forCar
,Bike
, andTruck
.
💡 Use
extends
keyword to create inheritance relationships.
📘 Learn more about class hierarchies
🧱 Introduction to Polymorphism
Polymorphism means "many forms" and allows objects to take multiple forms. It enables methods to do different things based on the object it is acting upon.
- Method Overriding: Reimplementing a method in a subclass with the same name as the superclass.
- Method Overloading: Having multiple methods with the same name but different parameters.
- 📌 Example: A
draw()
method can behave differently forCircle
,Square
, andTriangle
.
🌟 Polymorphism enhances flexibility and extensibility in code.
📘 Explore polymorphism examples
🖼️ Visual Concepts
🧠 Practical Application
// Inheritance Example
class Animal {
void speak() {
System.out.println("Animal sound");
}
}
class Dog extends Animal {
@Override
void speak() {
System.out.println("Bark!");
}
}
// Polymorphism Example
Animal myAnimal = new Dog();
myAnimal.speak(); // Outputs: Bark!
📌 Key Takeaways
- Inheritance simplifies code structure by reusing existing classes.
- Polymorphism allows for dynamic method binding and flexible design.
- 🧩 Use inheritance to model "is-a" relationships and polymorphism for "is-treatable-as" relationships.
🚀 Ready to practice? Try coding exercises on inheritance and polymorphism