Next Page
Inheritance
Def: The process of implementing the "Parent-Child" relationship between two or more classes. As a part of this "Inheritance" implementation, parent and child classes are to be implemented.Advantage: All the data members and methods of the parent class are accessible by child class. This is called as "Re-usability". That means the parent class members are re-usable in the child class.
- The parent class can also be called as "Base" / "Super" class.
- The child class can also be called as "Derived" / ―Sub" class.
Classification of Inheritance supported by C#:
1) Implementation Inheritance:
- This is commonly used inheritance.
- Whenever a class is derived from another class, it can be called as "Implementation Inheritance"
- As said above, all of the members of the super class are adopted by sub class.
2) Interface Inheritance:
- This type of inheritance is taken from "Java".
- Whenever a class is derived from an interface, it can be called as "Interface Inheritance".
- The interface is similar to the class, but doesn‘t contain the method definitions; it contains the method declarations only. We discuss about the interfaces in-depth later
Types of Inheritance:
- This is the simplest type of inheritance.
- An inheritance relationship, with only one super class and one sub class
An inheritance relationship, with only one super class and multiple sub classes.
- An inheritance relationship, with only one super class and multiple sub classes, and also extended with another sub class from the first sub class.
- In other words, one class acts as super class and sub class simultaneously.
- An inheritance relationship, with only multiple super classes and only one sub class.
- "Multiple Implementation Inheritance" is not supported by C#, but "Multiple Interface Inheritance" is supported by C#.
- An inheritance relationship that contains a combination of any other two types of inheritances.
- Ex: Multiple + Hierarchical Inheritance
- Multiple + Multi Level Inheritance etc.
Note: Other OOP languages like C++ support multiple inheritance. But C# and VB.NET doesn‘t
support multiple inheritance to avoid some practical problems while developing future GUI
applications like windows forms applications, web sites etc.
No comments:
Post a Comment