Một giao diện là một tập mẫu cú pháp mà tất cả các lớp kế thừa giao diện cần phải tuân theo. Các giao diện xác định mẫu có cái gì và các lớp thừa kế xác định nó hoạt động như thế nào.
Giao diện xác định các thuộc tính, phương thức, và các sự kiện, trong đó có các thành viên của giao diện. Giao diện chỉ chứa các khai báo của các thành viên. Đây là trách nhiệm của lớp bắt nguồn để xác định các thành viên. Nó thường giúp trong việc cung cấp một cấu trúc tiêu chuẩn mà các thừa kế các lớp sẽ làm theo.
Khai báo giao diện
Giao diện được khai báo bằng từ khóa interface. Nó tương tự như khai báo lớp. Truy cập giao diện là công khai theo mặc định. Sau đây là một ví dụ về khai báo giao diện:
public interface GiaoDichCuaToi { // KHAI BAO THANH VIEN void HienThiGiaoDich(); double TinhTien(); }
Thí dụ
Ví dụ sau đây cho thấy việc thực hiện các giao diện ở trên:
using System.Collections.Generic; using System.Linq; using System.Text; using System; namespace InterfaceApplication { public interface GiaoDichCuaToi { // KHAI BAO THANH VIEN void HienThiGiaoDich(); double TinhTien(); } public class GiaoDich : GiaoDichCuaToi { private string tCode; //MA GIAO DICH private string date; //NGAY GIAO DICH private double amount; //TINH TIEN public GiaoDich() //KHOI TAO KHONG THAM SO { tCode = " "; date = " "; amount = 0.0; } public Transaction(string c, string d, double a) //KHOI TAO CO THAM SO { tCode = c; date = d; amount = a; } public double TinhTien() { return amount; } public void HienThiGiaoDich() { Console.WriteLine("Ma giao dich: {0}", tCode); Console.WriteLine("Ngay: {0}", date); Console.WriteLine("Thanh tien: {0}", TinhTien()); } } class Tester { static void Main(string[] args) { GiaoDich t1 = new GiaoDich("001", "8/10/2012", 78900.00); GiaoDich t2 = new GiaoDich("002", "9/10/2012", 451900.00); t1.HienThiGiaoDich(); t2.HienThiGiaoDich(); Console.ReadKey(); } } }
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:
Ma giao dich: 001 Ngay: 8/10/2012 Thanh tien: 78900 Ma giao dich: 002 Ngay: 9/10/2012 Thanh tien: 451900