C sharp - single, multilevel, and hierarchical inheritance in C#
1. Single Inheritance
One derived class inherits from one base class.
Syntax:
class Parent {
// base class members
}
class Child : Parent {
// derived class members
}
Example:
using System;
class Animal
{
public void Eat() {
Console.WriteLine("Eating...");
}
}
class Dog : Animal {
public void Bark() {
Console.WriteLine("Barking...");
}
}
class Program {
static void Main() {
Dog d = new Dog();
d.Eat(); // Inherited from Animal
d.Bark(); // Defined in Dog
}
}
Multilevel Inheritance
Definition:
A class is derived from a class which is already derived from another class.
Syntax:
class GrandParent { }
class Parent : GrandParent { }
class Child : Parent { }
Example:
using System;
class LivingBeing {
public void Breathe() {
Console.WriteLine("Breathing...");
}
}
class Animal : LivingBeing {
public void Eat() {
Console.WriteLine("Eating...");
}
}
class Dog : Animal {
public void Bark() {
Console.WriteLine("Barking...");
}
}
class Program {
static void Main() {
Dog d = new Dog();
d.Breathe(); // From LivingBeing
d.Eat(); // From Animal
d.Bark(); // From Dog
}
}
Hierarchical Inheritance
Definition:
Multiple classes inherit from a single base class.
Syntax:
class Parent { }
class Child1 : Parent { }
class Child2 : Parent { }
Example:
using System;
class Animal {
public void Eat() {
Console.WriteLine("Eating...");
}
}
class Dog : Animal {
public void Bark() {
Console.WriteLine("Barking...");
}
}
class Cat : Animal {
public void Meow() {
Console.WriteLine("Meowing...");
}
}
class Program {
static void Main() {
Dog d = new Dog();
d.Eat(); // Inherited from Animal
d.Bark(); // Dog’s method
Cat c = new Cat();
c.Eat(); // Inherited from Animal
c.Meow(); // Cat’s method
}
}