Interface trong C#

 9/2/2019 |  Admin   4027 lượt xem

(netcore.vn) - Interface trong C#

Một Interface được định nghĩa như là một giao ước có tính chất cú pháp (syntactical contract) mà tất cả lớp kế thừa Interface đó nên theo. Interface định nghĩa phần "Là gì" của giao ước và các lớp kế thừa định nghĩa phần "Cách nào" của giao ước đó.

Interface định nghĩa các thuộc tính, phương thức và sự kiện, mà là các thành viên của Interface đó. Các Interface chỉ chứa khai báo của các thành viên này. Việc định nghĩa các thành viên là trách nhiệm của lớp kế thừa. Nó thường giúp ích trong việc cung cấp một Cấu trúc chuẩn mà các lớp kế thừa nên theo.

Khai báo Interface trong C#

Các Interface được khai báo bởi sử dụng từ khóa interface trong C#. Nó tương tự như khai báo lớp. Theo mặc định, các lệnh Interface là puclic. Ví dụ sau minh họa một khai báo Interface trong C#:

public interface ITransactions
{
   // các thành viên của interface
   
   //các phương thức
   void hienThiThongTinGiaoDich();
   double laySoLuong();
}

Ví dụ

 

Sau đây là ví dụ minh họa trình triển khai của Interface trên: tạo 2 lớp có tên lần lượt là GiaoDichHangHoa, TestCsharp và một interface có tên là GiaoDich

interface GiaoDich

using System;

namespace VietJackCsharp
{
    public interface GiaoDich
    {
        // cac thanh vien cua interface

        //cac phuong thuc
        void hienThiThongTinGiaoDich();
        double laySoLuong();
    }
}

Lớp GiaoDichHangHoa kế thừa interface GiaoDich

using System;

namespace VietJackCsharp
{
    class GiaoDichHangHoa : GiaoDich
    {
      private string ma_hang_hoa;
      private string ngay;
      private double so_luong;
      public GiaoDichHangHoa()
      {
          ma_hang_hoa = " ";
          ngay = " ";
          so_luong = 0.0;
      }

      public GiaoDichHangHoa(string c, string d, double a)
      {
          ma_hang_hoa = c;
          ngay = d;
          so_luong = a;
      }
      
      public double laySoLuong()
      {
          return so_luong;
      }
      
      public void hienThiThongTinGiaoDich()
      {
          Console.WriteLine("Ma hang hoa: {0}", ma_hang_hoa);
          Console.WriteLine("Ngay giao dich: {0}", ngay);
         Console.WriteLine("So luong: {0}", laySoLuong());
      }
    }
}

Lớp TestCsharp chứa phương thức main() để thao tác trên đối tượng GiaoDichHangHoa

using System;
namespace VietJackCsharp
{
    public class TestCsharp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Interface trong C#");
            Console.WriteLine("Vi du minh hoa interface");
            Console.WriteLine("--------------------------");

            //tao cac doi tuong GiaoDichHangHoa
            GiaoDichHangHoa t1 = new GiaoDichHangHoa("001", "8/10/2012", 78900.00);
            GiaoDichHangHoa t2 = new GiaoDichHangHoa("002", "9/10/2012", 451900.00);
            t1.hienThiThongTinGiaoDich();
            t2.hienThiThongTinGiaoDich();

            Console.ReadKey();
        }
    }
}

 

Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.

Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:

liên quan

File I/O trong C#  2993

 9/2/2019

File I/O trong C#

Xem chi tiết 

Xử lý ngoại lệ (Try/Catch/Finally) trong C#  3493

 9/2/2019

Xử lý ngoại lệ (Try/Catch/Finally) trong C#

Xem chi tiết 

Regular Expression trong C#  3234

 9/2/2019

Regular Expression trong C#

Xem chi tiết 

Chỉ thị tiền xử lý trong C#  2099

 9/2/2019

Chỉ thị tiền xử lý trong C#

Xem chi tiết 

Namespace trong C#  2061

 9/2/2019

Namespace trong C#

Xem chi tiết 

Nạp chồng toán tử trong C#  1767

 9/2/2019

Nạp chồng toán tử trong C#

Xem chi tiết 

Tính đa hình trong C#  2297

 9/2/2019

Tính đa hình trong C#

Xem chi tiết 

Tính kế thừa trong C#  3846

 9/2/2019

Tính kế thừa trong C#

Xem chi tiết 

Lớp (Class) trong C#  3816

 9/2/2019

Lớp (Class) trong C#

Xem chi tiết 

Enum trong C#  3092

 9/2/2019

Enum trong C#

Xem chi tiết 
Like Fanpage Để Ủng Hộ Chúng Tôi Duy Trì Website