C# Interface

C# Interface: Định nghĩa và Cú pháp

Trong ngôn ngữ lập trình C#, một interface (giao diện) là một hợp đồng mà các lớp có thể thực hiện. Nó định nghĩa một tập hợp các phương thức và thuộc tính mà một lớp phải triển khai. Giao diện giúp tách biệt các khái niệm, tăng tính tái sử dụng, và tạo ra cấu trúc mã lệnh rõ ràng hơn.

Đặc điểm của Interface

  • Không thể chứa bất kỳ cài đặt nào cho các phương thức (trước C# 8.0).
  • Có thể chứa các phương thức, thuộc tính, sự kiện, và chỉ có thể chứa khai báo.
  • Một lớp có thể triển khai nhiều giao diện.
  • Giao diện thường được sử dụng để hỗ trợ đa hình.

Cú pháp của Interface

Cú pháp để định nghĩa một giao diện trong C# như sau:

interface TênGiaoDiện
{
    // Định nghĩa các phương thức, thuộc tính
    void PhuongThuc1();
    int PhuongThuc2(string thamSo);
}

Ví dụ về Interface trong C#

Dưới đây là một ví dụ đơn giản về cách sử dụng interface trong C#:

using System;

// Định nghĩa interface
interface IAnimal
{
    void Speak();
}

// Lớp Dog triển khai interface IAnimal
class Dog : IAnimal
{
    public void Speak()
    {
        Console.WriteLine("Woof!");
    }
}

// Lớp Cat triển khai interface IAnimal
class Cat : IAnimal
{
    public void Speak()
    {
        Console.WriteLine("Meow!");
    }
}

class Program
{
    static void Main(string[] args)
    {
        IAnimal myDog = new Dog();
        IAnimal myCat = new Cat();

        myDog.Speak(); // Kết quả: Woof!
        myCat.Speak(); // Kết quả: Meow!
    }
}

Trong ví dụ này, chúng ta đã tạo ra một giao diện IAnimal với phương thức Speak. Các lớp DogCat đều triển khai giao diện này, và mỗi lớp có cách nói riêng của mình.

Kết luận

Interface trong C# là một công cụ mạnh mẽ giúp cho việc xây dựng các ứng dụng phần mềm trở nên dễ dàng hơn, đồng thời tăng cường tính mở rộng và bảo trì. Hiểu và áp dụng đúng giao diện sẽ giúp bạn phát triển các ứng dụng linh hoạt và có tổ chức hơn.