Inheritance in C Sharp Language

Inheritance in C# Language

Inheritance is a fundamental concept in object-oriented programming, and C# is no exception. It is a mechani

sm that allows one class to inherit the properties and behaviors (i.e., fields, properties, methods, and events) of another class. This powerful feature in C# promotes code reuse and supports the creation of a hierarchical class structure. In this post, we will explore the concept of inheritance in C# with examples.

The Basics of Inheritance

In C#, you can create a new class by deriving from an existing class. The new class, called the derived class or subclass, inherits the members of the base class or superclass. The inheritance relationship is established using the : symbol.

Here’s a simple example to illustrate inheritance:

class Animal
{
    public void Eat()
    {
        Console.WriteLine("Animal is eating.");
    }
}

class Dog : Animal
{
    public void Bark()
    {
        Console.WriteLine("Dog is barking.");
    }
}

In this example, we have two classes, Animal and Dog. The Dog class inherits from the Animal class. This means that the Dog class can access the Eat method defined in the Animal class and also has its own method Bark.

Accessing Base Class Members

When inheriting from a base class, you can access its members using the base keyword. For example:

class Cat : Animal
{
    public void Meow()
    {
        Console.WriteLine("Cat is meowing.");
        base.Eat(); // Access the Eat method from the base class.
    }
}

In the Cat class, we can call the Eat method from the base class using base.Eat().

Constructors in Inheritance

Constructors are not inherited by default, but you can explicitly call the base class constructor using the base keyword in the derived class constructor:

class Vehicle
{
    public string Name { get; set; }

    public Vehicle(string name)
    {
        Name = name;
    }
}

class Car : Vehicle
{
    public Car(string name, int wheels) : base(name)
    {
        Wheels = wheels;
    }

    public int Wheels { get; set; }
}

In the example above, the Car class calls the constructor of the base class Vehicle using base(name) and also initializes its own property Wheels.

Method Overriding

Inheritance in C# also allows you to override methods in the base class. This is useful when you want to provide a specific implementation in the derived class. To override a method, use the override keyword:

class Shape
{
    public virtual void Draw()
    {
        Console.WriteLine("Drawing a shape.");
    }
}

class Circle : Shape
{
    public override void Draw()
    {
        Console.WriteLine("Drawing a circle.");
    }
}

In the Circle class, we override the Draw method from the base class Shape to provide a custom implementation.


Discover more from PiEmbSysTech

Subscribe to get the latest posts sent to your email.

Leave a Reply

Scroll to Top

Discover more from PiEmbSysTech

Subscribe now to keep reading and get access to the full archive.

Continue reading