We have two interfaces IMan and IBirds. Both the interfaces defines a method named Eat with same name and signature. A class MyClass is inheriting both the interfaces. How can we implement method of both the interfaces in the derived class MyClass ?
Here is the code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| public interface IMan { void Eat(); } public interface IBirds { void Eat(); } public class MyClass : IMan, IBirds { void IMan.Eat() { Console.WriteLine( "Roti" ); } void IBirds.Eat() { Console.WriteLine( "Earthworms" ); } } |
We use interface name to access its method to implement.
Similarly, we call a method by instantiating the desired interface and assigning object of the derived class to it.
1
2
3
4
5
6
7
8
9
| IMan man = new MyClass(); man.Eat(); IBirds birds = new MyClass(); birds.Eat(); //OR ((IMan) new MyClass()).Eat(); ((IBirds) new MyClass()).Eat(); |
No comments:
Post a Comment