Giao diện trong C#

0
1087

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.