What is inheritance and how does it work? What are some advantages of using inheritance? Visual Basic 2012
Inheritance:
Inheritance means parent-child relationship.By using Inheritance methodology we can create a new class by using existing class code (i.e. reuse existing methods, properties etc).It also referred to as reusability of the code so by using Inheritance we can reuse the code again and again.
What We Call:
In Inheritance main existing class is called as generalized class, base class, super class and parent class and the new class created from existing class is called as specialized class, sub class, child class and derived class. We normally talk in terms of base class and derived class
Syntax of Inheritance
class ParentClass
{
...parent class code
}
class ChildClass : ParentClass
{
...child class code
}
Special Character ":" in Inheritance:
Inheritance uses special character called ":" colon to make a
relationship between parent and child as you can see in above
syntax of code.
When to Implement Interitance:
When we create a new class and we want to reuse some of the methods or properties from existing class then that is an ideal time to implement inheritance.
Types of inheritance in c#:
There are 5 types of inheritance as shown below
1.Single Inheritance
2.Multilevel Inheritance
3.Multiple Inheritance
4.Hierarchical Inheritance
5.Hybrid Inheritance
Single Inheritance:
Single Inheritance means when a single base is been implemented to
single derived class is called as Single Inheritance.Means we have
only one parent class and one child class.
Base Class
Example of Single Inheritance:
class Company{
public void CompanyName(){
Console.WriteLine("Name of the Company");
}
public void CompanyAddress(){
Console.WriteLine("Address of the Company");
}
}
class Employee : Company {
public void NameofEmployee(){
Console.WriteLine("Name of the Employee");
}
public void Salary(){
Console.WriteLine("Salary of the Employee");
}
}
Multilevel Inheritance:
When a derived class is created from another derived class or let
me put it in this way that a class is created by using another
derived class and this type of implementation is called as
multilevel Inheritance
Example of Multilevel Inheritance:
class HeadOffice{
public void HeadOfficeAddress(){
Console.WriteLine("Head Office Address");
}
}
Now let's assume that class "HeadOffice" is our Parent class or Base class. Now in my next step i will create one derived class.
class BranchOffice : HeadOffice{
public void BranchOfficeAddress(){
Console.WriteLine("Branch Office Address");
}
}
So as you can see that i have created a derived class
"BranchOffice" by implementing the class "HeadOffice" to it.
It means now we have one parent class and one derived class. In the
next step i will create another derived class by implementing our
existing derived class "BranchOffice" to achieve multilevel
Inheritance.
class Employee : BranchOffice {
public void NameofEmployee(){
Console.WriteLine("Name of the Employee");
}
public void Salary(){
Console.WriteLine("Salary of the Employee");
}
}
From the above souce code you can see that we have achieved
multilevel Inheritance by implementing one derived class to another
derived class. Now the class "Employee" will have the access of all
the properties and methods of class "BranchOffice" and class
"HeadOffice".
Multiple Inheritance:
Due to the complexity of a code multiple inheritance is not been
supported in C# or in DOT.NET but DOT.NET or C# supports
multiple interfaces
Hierarchical Inheritance
When more than one derived classes are implemented from a same
parent class or base class then that type of implentation is known
as hierarchical inheritance.
class HeadOffice{
public void HeadOfficeAddress(){
Console.WriteLine("Head Office Address");
}
}
class BranchOffice1 : HeadOffice{
public void BranchOfficeAddress(){
Console.WriteLine("Branch Office Address");
}
}
class BranchOffice2 : HeadOffice{
public void BranchOfficeAddress(){
Console.WriteLine("Branch Office Address");
}
}
As you can see from above the code that we have one base class
"HeadOffice" and two derived classes "BranchOffice1" and
"BranchOffice2" which are implemented from same base class i.e.
"HeadOffice".
Hybrid Inheritance:
This is a special type of inheritance and can be achieved from any
combination of single, hierarchical and multi level inheritance
known as hybrid inheritance.
In the below code example i have combined hierarchical inheritance and multi level inheritance together.
//This part of code is related to hierarchical inheritance
class HeadOffice{
public void HeadOfficeAddress(){
Console.WriteLine("Head Office Address");
}
}
class BranchOffice1 : HeadOffice{
public void BranchOfficeAddress(){
Console.WriteLine("Branch Office Address");
}
}
class BranchOffice2 : HeadOffice{
public void BranchOfficeAddress(){
Console.WriteLine("Branch Office Address");
}
}
////This part of code is related to combination of hierarchical
inheritance and multi level inheritance
class Employee : BranchOffice2 {
public void NameofEmployee(){
Console.WriteLine("Name of the Employee");
}
public void Salary(){
Console.WriteLine("Salary of the Employee");
}
}
So that you have understood the inheritance and their 5
types. Now let's a simple example of inheritance using
csharp.
Example of Inheritance using C#
public class Car{
private string rearviewmirror;
private string gear;
private string clutch;
private string steering;
public string RearViewMirror
{
get { return rearviewmirror; }
set { rearviewmirror = value; }
}
public string Gear
{
get { return gear; }
set { gear = value; }
}
public string Clutch
{
get { return clutch; }
set { clutch = value; }
}
public string Steering
{
get { return steering; }
set { steering = value; }
}
public virtual void CarPrice()
{
Console.WriteLine("Car Prize is : 0");
}
public virtual void NameofCar()
{
Console.WriteLine("Company Name of this Car is -- ");
}
}
Above i have created a simple class "Car" with some methods and
some properties. Now next step i will create two classes
"SentroCar" and "BCWCar" and implement it with a single base class
"Car"
Derived Class 1 implemented with base class Car
public class SentroCar:Car
{
public override void CarPrice()
{
Console.WriteLine("Car Prize is : 2.5L INR");
}
public override void NameofCar()
{
Console.WriteLine("Company Name of this Car is Sentro");
}
}
Derived Class 2 implemented with base class Car
public class BCWCar : Car
{
public override void CarPrice()
{
Console.WriteLine("Car Prize is : 4.5L INR");
}
public override void NameofCar()
{
Console.WriteLine("Company Name of this Car is BCW ");
}
}
As you see that we have two derived classes implemented from
same base class. This type of implementation can also be called as
Hierarchical Inheritance.
Output by Using Console Application
class Program
{
static void Main(string[] args)
{
Car obj = new SentroCar();
obj.CarPrice();
obj.NameofCar();
Car obj = new BCWCar();
obj.CarPrice();
obj.NameofCar();
}
}
//Output
Car Prize is : 2.5L INR
Company Name of this Car is Sentro
Car Prize is : 4.5L INR
Company Name of this Car is BCW.
Advantage of
Interitance
1.Reusability of the code.
2.Once a behavior (method) or property is defined in a super class(base class),that behavior or property is automatically inherited by all subclasses (derived class)
3.Inheritance provide a clear model structure which is easy to understand without much complexity Using inheritance, classes become grouped together in a hierarchical tree structure Code are easy to manage and divided into parent and child classes
What is inheritance and how does it work? What are some advantages of using inheritance? Visual...
What is an accuvein finder? how does it work? what does it cost? what are advantages and disadvantages?
What is next generation sequencing? What are advantages and disadvantages? How does it work?
Visual Arts: How does using UAV technology enable artists to create work? Are there subjects that could only be addressed by using this technology? . As a viewer, do you personally engage with artwork that uses UAVtechnology differently? Does it feel "gimmicky" or does it make you think more critically about the content? Please provide examples from links or other material you find
what is an owlet sock monitor? how does it work? what are advantages and disadvantages? why should parents use it? is it safe?
Using short answer, please explain what benefits does inheritance bring to game programming. Also, how does polymorphism expand the power of
1. Discuss the difference between inheritance and composition. What are the advantages and disadvantages of each? Can you implement one with the other? 2.How is a class similar to a database table? How is it different? How do these similarities and differences justify the need for class models and for data models? Or do they? 3.Discuss the difference between association and composition. What are the advantages and disadvantages of each? 4.When would you apply inheritance? When would you not? Provide...
how does the Electronic Skin Display That can Transmit Data work? what are advantages and disadvantages? whats the history?
How does Work simplification affect employees? Advantages and disadvantages?
Tooth Sensors: Real-time Diet Tracking how does it work? what is it? advantages and disadvantages? history?
What is Visual stream Mapping (VSM). What are the pros and cons and how does Visual stream Mapping affect cost (Engineering Economy). Detailed Explanation is needed