- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to use Interface References in C#?
C# is an object-oriented programming language that offers a unique feature known as interfaces. They enable you to declare a collection of attributes and methods that a class must implement without mentioning the specifics of how they should be implemented.
The ability to write code that is independent of a class's implementation details is one of the main benefits of interfaces. Each object of any class that implements the interface can be referred to using an interface reference.
As a result, it is simpler to switch between different class implementations without having to modify the code that utilizes the class.
Syntax for Defining an Interface in C#
In C#, you can use the interface keyword and the interface's name to define an interface. As demonstrated in the example below, the interface definition may comprise methods, properties, events, and indexers −
interface <interface_name> { // declare Events // declare properties // declare indexers // declare methods }
Colon Operator − the syntax to implement interface includes a colon (:) operator followed by the name of the interface you want to implement.
Properties − properties are the values in interface
Methods − methods are the functions in interface
Example
In this example, we will define an interface Shape with a method CalArea(). To calculate the area of a shape. For this purpose, we will define a class Circle that implements the Shape interface and provides an implementation for the CalArea() method used by the interface.
Algorithm
Step 1 − In the first step define an interface with the required methods and properties. You can include properties, methods, events, and indexers while defining the interface.
Step 2 − Next create a class that implements the interface.
Step 3 − Create a reference variable of the interface type.
Step 4 − Instantiate the class and assign the object to the reference variable.
Step 5 − Lastly use the interface reference to call the methods and properties defined in the interface.
using System; interface Shape { double CalArea(); } class Circle : Shape { private double radius; public Circle(double r) { radius = r; } public double GetArea() { return 3.14 * radius * radius; } } class Program { static void Main(string[] args) { Shape shapeRefr; Circle Obj = new Circle(5); shapeRefr = Obj; Console.WriteLine("Area of the circle is " + shapeRefr.CalArea()); } }
Output
Area of the circle is 78.5
Example
In this example we will calculate marks of 4 subjects of a student and the percentage of total marks. In this example we will initialize an interface with 2 methods.
Algorithm
Step 1 − In the first step define an interface with the required 2 methods: one method to calculate marks and the other to calculate the percentage.
Step 2 − Next create a class that implements the interface.
Step 3 − Create a reference variable of the interface type.
Step 4 − Instantiate the class and assign the object to the reference variable.
Step 5 − Lastly use the interface reference to call the methods and properties defined in the interface.
using System; interface Olevel //create interface { double marks(); double percentage(); } class Result : Olevel //create class { private double Math; private double Science; private double English; private double Computer; public Result(double math, double science, double english, double computer) { this.Math = math; this.Science = science; this.English = english; this.Computer = computer; } //create methods public double marks() { double mrks; mrks= Math+Science+English+Computer; return mrks; } public double percentage() { double x= Math+Science+English+Computer; return (x/400) * 100; } } class Program { static void Main(string[] args) { Result result = new Result(90, 95, 93, 98); // Create an interface reference variable and assign the instance of result class to it Olevel olev = result; Console.WriteLine("The Total marks of the student out of 400 are: " + result.marks()); Console.WriteLine("The percentage of the student is: " + result.percentage()); } }
Output
The Total marks of the student out of 400 are: 376 The percentage of the student is: 94
Conclusion
Finally, interface references in C# give your code a strong mechanism. You can create code with any object that supports that interface, irrespective of its specific class.