Giao diện trong C# là gì với ví dụ
Giao diện trong C# là gì?
An Giao thức trong C# được sử dụng cùng với một lớp để định nghĩa một hợp đồng là một thỏa thuận về những gì lớp sẽ cung cấp cho một ứng dụng. Giao diện định nghĩa những hoạt động mà một lớp có thể thực hiện. Giao diện khai báo các thuộc tính và phương thức. Lớp phải định nghĩa chính xác những gì phương thức sẽ thực hiện.
Hãy xem ví dụ về giao diện bằng cách thay đổi các lớp trong ứng dụng Console của chúng ta. Lưu ý rằng chúng tôi sẽ không chạy mã vì không có gì có thể chạy bằng giao diện.
Ví dụ về giao diện C#
Hãy tạo một lớp giao diện. Lớp học sẽ có tên là “Guru99Interface”. Lớp chính của chúng tôi sau đó sẽ mở rộng giao diện đã xác định. Tất cả mã cần phải được viết trong tệp Program.cs.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { interface IGuru99Interface { void SetTutorial(int pID, string pName); String GetTutorial(); } class Guru99Tutorial : IGuru99Interface { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID, string pName) { TutorialID = pID; TutorialName = pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor = new Guru99Tutorial(); pTutor.SetTutorial(1,".Net by Guru99"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Giải thích mã: -
Ở đây, chúng tôi giải thích các phần quan trọng của mã
- Trước tiên, chúng tôi xác định một giao diện có tên là “Guru99Interface”. Lưu ý rằng từ khóa “giao diện” được sử dụng để xác định giao diện.
- Tiếp theo, chúng ta định nghĩa các phương thức sẽ được giao diện của chúng ta sử dụng. Trong trường hợp này, chúng ta định nghĩa các phương thức giống như được sử dụng trong tất cả các ví dụ trước đó. Lưu ý rằng giao diện chỉ khai báo các phương thức. Nó không định nghĩa mã trong các phương thức đó.
- Sau đó, chúng ta tạo lớp Guru99Tutorial mở rộng giao diện. Đây là nơi chúng ta viết mã định nghĩa các phương thức khác nhau được khai báo trong giao diện. Kiểu mã hóa này đạt được mục đích sau
- Nó đảm bảo rằng lớp Guru99Tutorial chỉ thêm mã cần thiết cho các phương thức “SetTutorial” và “GetTutorial” chứ không thêm gì khác.
- Nó cũng đảm bảo rằng giao diện hoạt động giống như một hợp đồng. Các tốt nghiệp lớp XNUMX phải tuân theo hợp đồng. Vì vậy, nếu hợp đồng nói rằng nó phải có hai phương thức gọi là “SetTutorial” và “GetTutorial”, thì đó là cách nó phải như vậy.
Tổng kết
- Một giao diện xác định một hợp đồng mà lớp sẽ tuân thủ. Giao diện xác định các hoạt động mà lớp có thể thực hiện là gì.