This content originally appeared on DEV Community and was authored by DevOps Fundamental
Understanding Examples Inheritance for Beginners
Have you ever noticed how a puppy is like a dog, but also has its own unique characteristics? That's the core idea behind inheritance in programming! It's a powerful concept that lets you create new things based on existing ones, saving you time and making your code more organized. Understanding inheritance is a common topic in programming interviews, and it's a fundamental building block for writing larger, more complex programs. Let's dive in!
Understanding "Examples Inheritance"
Inheritance is a way to create a new class (a blueprint for creating objects) based on an existing class. The new class "inherits" all the properties and methods (functions) of the original class, and then you can add new properties and methods or modify the existing ones.
Think of it like this: you have a general category, like "Vehicle". Within "Vehicle", you have more specific types like "Car", "Truck", and "Motorcycle". All vehicles have things in common – they have wheels, an engine, and can move. But a car has a trunk, a truck has a bed, and a motorcycle has handlebars.
Inheritance lets us define "Vehicle" once, and then create "Car", "Truck", and "Motorcycle" that automatically have all the "Vehicle" features, plus their own special features.
Here's a simple diagram to illustrate:
classDiagram
class Vehicle {
+startEngine()
+stopEngine()
+numberOfWheels : int
}
class Car {
+openTrunk()
}
class Truck {
+loadCargo()
}
class Motorcycle {
+wheelie()
}
Vehicle <|-- Car : inherits from
Vehicle <|-- Truck : inherits from
Vehicle <|-- Motorcycle : inherits from
In this diagram, Vehicle
is the "parent" or "base" class, and Car
, Truck
, and Motorcycle
are the "child" or "derived" classes. The arrow shows the direction of inheritance.
Basic Code Example
Let's look at a simple example using Python. We'll create a Dog
class and then a GoldenRetriever
class that inherits from Dog
.
class Dog:
def __init__(self, name, breed):
self.name = name
self.breed = breed
def bark(self):
print("Woof! My name is", self.name)
def display_breed(self):
print("I am a", self.breed)
This code defines a Dog
class with a constructor (__init__
) that takes the dog's name and breed. It also has two methods: bark
and display_breed
.
Now, let's create a GoldenRetriever
class that inherits from Dog
:
class GoldenRetriever(Dog):
def __init__(self, name):
# Call the parent class's constructor
super().__init__(name, "Golden Retriever")
def fetch(self):
print(self.name, "is fetching the ball!")
Let's break this down:
-
class GoldenRetriever(Dog):
This line says thatGoldenRetriever
inherits fromDog
. -
super().__init__(name, "Golden Retriever")
This is crucial!super()
allows us to call methods from the parent class. Here, we're calling theDog
class's constructor to initialize thename
and set thebreed
to "Golden Retriever". We must call the parent's constructor to properly initialize the inherited attributes. -
def fetch(self):
This defines a new method,fetch
, that is specific toGoldenRetriever
s.
Now let's use these classes:
my_dog = Dog("Buddy", "Labrador")
my_golden = GoldenRetriever("Charlie")
my_dog.bark()
my_dog.display_breed()
my_golden.bark()
my_golden.display_breed()
my_golden.fetch()
This will output:
Woof! My name is Buddy
I am a Labrador
Woof! My name is Charlie
I am a Golden Retriever
Charlie is fetching the ball!
Notice that my_golden
automatically has the bark
and display_breed
methods from the Dog
class, even though we didn't define them in GoldenRetriever
!
Common Mistakes or Misunderstandings
Here are some common mistakes beginners make with inheritance:
❌ Incorrect code:
class GoldenRetriever(Dog):
def __init__(self, name):
self.name = name # Missing breed initialization
✅ Corrected code:
class GoldenRetriever(Dog):
def __init__(self, name):
super().__init__(name, "Golden Retriever")
Explanation: Forgetting to call the parent class's constructor (super().__init__()
) can lead to uninitialized attributes and unexpected behavior. Always make sure to initialize the inherited attributes.
❌ Incorrect code:
def bark():
print("Woof!")
✅ Corrected code:
def bark(self):
print("Woof!")
Explanation: Methods within a class always need self
as the first parameter. self
refers to the instance of the class.
❌ Incorrect code:
class Cat(Dog): # Cats are not Dogs!
pass
✅ Corrected code:
class Cat:
def __init__(self, name):
self.name = name
def meow(self):
print("Meow!")
Explanation: Inheritance should be used when there's a clear "is-a" relationship. A Cat
is not a Dog
. They are different classes with different characteristics. Using inheritance inappropriately can lead to confusing and poorly designed code.
Real-World Use Case
Let's imagine we're building a simple game with different types of characters. We can use inheritance to create a base Character
class and then derive specific character classes from it.
class Character:
def __init__(self, name, health):
self.name = name
self.health = health
def attack(self):
print(self.name, "attacks!")
def display_health(self):
print(self.name, "has", self.health, "health.")
class Warrior(Character):
def __init__(self, name):
super().__init__(name, 100) # Warriors start with 100 health
def special_attack(self):
print(self.name, "performs a powerful strike!")
class Mage(Character):
def __init__(self, name):
super().__init__(name, 70) # Mages start with 70 health
def cast_spell(self):
print(self.name, "casts a magical spell!")
# Create some characters
hero = Warrior("Arthur")
wizard = Mage("Merlin")
hero.attack()
hero.special_attack()
hero.display_health()
wizard.attack()
wizard.cast_spell()
wizard.display_health()
This example demonstrates how inheritance can be used to create a hierarchy of classes with shared functionality.
Practice Ideas
Here are a few ideas to practice inheritance:
-
Shape Hierarchy: Create a
Shape
class with methods for calculating area and perimeter. Then createCircle
,Rectangle
, andTriangle
classes that inherit fromShape
and implement their specific area and perimeter calculations. -
Animal Kingdom: Create an
Animal
class with methods formake_sound
andmove
. Then createDog
,Cat
, andBird
classes that inherit fromAnimal
and implement their specific sounds and movements. - Vehicle Simulator: Expand on the Vehicle example from earlier. Add more vehicle types (e.g., Bicycle, ElectricCar) and implement methods for refueling/recharging.
-
Employee Management: Create an
Employee
class with attributes like name and salary. Then createManager
andDeveloper
classes that inherit fromEmployee
and have additional attributes like team size or programming language.
Summary
Congratulations! You've taken your first steps into the world of inheritance. You've learned that inheritance allows you to create new classes based on existing ones, reusing code and creating a more organized structure. Remember to always call the parent class's constructor using super()
, and to use inheritance only when there's a clear "is-a" relationship.
Keep practicing, and don't be afraid to experiment. Next, you might want to explore polymorphism and encapsulation – other key concepts in object-oriented programming. You're doing great!
This content originally appeared on DEV Community and was authored by DevOps Fundamental

DevOps Fundamental | Sciencx (2025-07-12T23:16:19+00:00) Programming Entry Level: examples inheritance. Retrieved from https://www.scien.cx/2025/07/12/programming-entry-level-examples-inheritance/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.