Learn .Net Training from the Best Tutors
Search in
In C# and .NET, multiple inheritance is not supported for classes. However, you can achieve a form of multiple inheritance using interfaces. Unlike classes, interfaces can be implemented by multiple classes, allowing a class to inherit from multiple sources.
Here's an example that demonstrates "multiple inheritance" using interfaces in C#:
```csharp
using System;
// Define the first interface
public interface IFirstInterface
{
void FirstMethod();
}
// Define the second interface
public interface ISecondInterface
{
void SecondMethod();
}
// Implement the interfaces in separate classes
public class FirstImplementation : IFirstInterface
{
public void FirstMethod()
{
Console.WriteLine("FirstMethod from FirstImplementation");
}
}
public class SecondImplementation : ISecondInterface
{
public void SecondMethod()
{
Console.WriteLine("SecondMethod from SecondImplementation");
}
}
// Implement a class that "inherits" from both interfaces
public class MultipleInheritanceClass : IFirstInterface, ISecondInterface
{
private readonly FirstImplementation firstImplementation;
private readonly SecondImplementation secondImplementation;
public MultipleInheritanceClass()
{
firstImplementation = new FirstImplementation();
secondImplementation = new SecondImplementation();
}
public void FirstMethod()
{
firstImplementation.FirstMethod();
}
public void SecondMethod()
{
secondImplementation.SecondMethod();
}
}
class Program
{
static void Main()
{
// Create an instance of the class
MultipleInheritanceClass myInstance = new MultipleInheritanceClass();
// Call methods from both interfaces
myInstance.FirstMethod();
myInstance.SecondMethod();
}
}
```
In this example:
- `IFirstInterface` and `ISecondInterface` are two interfaces that declare methods.
- `FirstImplementation` and `SecondImplementation` are two classes that implement these interfaces separately.
- `MultipleInheritanceClass` "inherits" from both interfaces by holding instances of `FirstImplementation` and `SecondImplementation` and delegating method calls to them.
While this is not true multiple inheritance in the classical sense, it allows a class to "inherit" behavior from multiple sources through interfaces and composition. This approach is commonly used in C# to achieve similar goals without the complications introduced by true multiple inheritance.
Related Questions
Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com
Ask a QuestionRecommended Articles
Make a Career as a BPO Professional
Business Process outsourcing (BPO) services can be considered as a kind of outsourcing which involves subletting of specific functions associated with any business to a third party service provider. BPO is usually administered as a cost-saving procedure for functions which an organization needs but does not rely upon to...
Why Should you Become an IT Consultant
Information technology consultancy or Information technology consulting is a specialized field in which one can set their focus on providing advisory services to business firms on finding ways to use innovations in information technology to further their business and meet the objectives of the business. Not only does...
Learn Microsoft Excel
Microsoft Excel is an electronic spreadsheet tool which is commonly used for financial and statistical data processing. It has been developed by Microsoft and forms a major component of the widely used Microsoft Office. From individual users to the top IT companies, Excel is used worldwide. Excel is one of the most important...
Make a Career in Mobile Application Programming
Almost all of us, inside the pocket, bag or on the table have a mobile phone, out of which 90% of us have a smartphone. The technology is advancing rapidly. When it comes to mobile phones, people today want much more than just making phone calls and playing games on the go. People now want instant access to all their business...
Looking for .Net Training ?
Learn from the Best Tutors on UrbanPro
Are you a Tutor or Training Institute?
Join UrbanPro Today to find students near youThe best tutors for .Net Training Classes are on UrbanPro
The best Tutors for .Net Training Classes are on UrbanPro