C#Inheritance
Inheritance (Derived and Base Class)
In C#, it is possible to inherit fields and methods from one class to another. We group the "inheritance concept" into two categories:
- Derived Class (child) - the class that inherits from another class
- Base Class (parent) - the class being inherited from
To inherit from a class, use the: symbol.
In the example below, theCar class (child) inherits the fields and methods from theVehicle class (parent):
Example
class Vehicle // base class (parent) { public string brand = "Ford"; // Vehicle field public void honk() // Vehicle method { Console.WriteLine("Tuut, tuut!"); }}class Car : Vehicle // derived class (child){ public string modelName = "Mustang"; // Car field}class Program{ static void Main(string[] args) { // Create a myCar object Car myCar = new Car(); // Call the honk() method (From the Vehicle class) on the myCar object myCar.honk(); // Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class Console.WriteLine(myCar.brand + " " + myCar.modelName); }}Why And When To Use "Inheritance"?
- It is useful for code reusability: reuse fields and methods of an existing class when you create a new class.
Tip: Also take a look at the next chapter,Polymorphism, which uses inherited methods to perform different tasks.
The sealed Keyword
If you don't want other classes to inherit from a class, use thesealed keyword:
If you try to access asealed class, C# will generate an error:
sealed class Vehicle { ...}class Car : Vehicle { ...}The error message will be something like this:
'Car': cannot derive from sealed type 'Vehicle'
