In Today’s section, we’ll talk about Interfaces. Interfaces are basically constraints which Implementing class must follow. In one way, it is similar to abstract class but doesn’t act as base class. C# doesn’t have multiple inheritance. You can inherit from only one class but you can implement as many interfaces as you like. Also, one point to understand that access modifiers like private, public, protected etc are not legal in case of interfaces. Hence, without wasting time, let’s jump at demos.
Below is the simple interface in its plain form.
Now, let us go ahead and create one class which implements the same. Below is the default implementation for the same. You may also notice that since I am not having setter in interface, hence in Implementation that came as private setter which means value can be set from constructor.
Below is the modified code for class implementation.
Now, let us go ahead and use the same in main class. While writing the class, you can see available properties and methods to get exposed.
Now, when I run the same, it will produce the following output.
However, It is also perfectly legal to have a variable of type Interface and instantiate a class like shown below. But, while doing so, here I won’t be having method access which is declared and implemented explicitly in class.
With the above change in place, it will print the following output.
Also, we can have main method like shown below.
Here, I have used cast operator as to check whether the object is of type class or interface. And, this will produce the following output.
Download Link:- https://github.com/rahulsahay19/InterfaceDemo
With this, I would like to wrap this session here. Thanks for joining me.