Thực hiện thuộc tính giao diện
Là một nhà phát triển được giao nhiệm vụ tạo giao diện dự án của bạn, bạn bắt đầu quy trình bằng cách thiết kế một giao diện với các thuộc tính. Sau đó, bạn phát triển một lớp học thực hiện các thuộc tính này.
Giao diện trong C# giống như một bản thiết kế. Nó phác thảo các tính năng (thuộc tính hoặc phương pháp) mà các lớp cần phải có nếu họ muốn sử dụng giao diện này. Đối với dự án này, bạn xác định một giao diện xác định thuộc tính chỉ (không có phương pháp).
- Sử dụng từ
interfacekhóa để tạo giao diện. - Xác định các thuộc tính trong giao diện mà không có một nội dung.
- Giao diện có thể tùy chọn cung cấp cài đặt mặc định cho các thành viên, bao gồm các thuộc tính, nhưng nó xảy ra không thường xuyên.
Mã sau đây tạo ra một giao IVehicle diện với và Speed các thuộc Color tính:
public interface IVehicle
{
int Speed { get; set; }
string Color { get; set; }
}
Thuộc tính giao diện thường không có bất kỳ mã nào bên trong, chúng chỉ xác định loại dữ liệu (intstringthích hoặc ) và liệu bạn có thể đọc từ chúng, viết cho chúng hay làm cả hai. Khi bạn thực hiện các thuộc tính này trong một lớp học, bạn sẽ viết mã thực tế để nhận được (đọc) và thiết lập (viết) các giá trị. Ví dụ: nếu một giao diện có thuộc tính Speed , bạn sẽ quyết định cách lưu trữ và truy xuất giá trị tốc độ trong lớp của mình.
Phát triển một lớp học thực hiện giao diện
Khi một lớp học, như Car, quyết định thực hiện một giao diện, IVehiclechẳng hạn như , nó giống như nói "Tôi sẽ xây dựng một chiếc xe.". Phải Car bao gồm tất cả các tính năng (thuộc tính hoặc phương pháp) được nêu trong bản IVehicle thiết kế.
- Cú
Car : IVehiclepháp được sử dụng để chỉ ra rằngCarđang thực hiện giaoIVehiclediện. Bạn sử dụng cú pháp quen thuộc, giống như được sử dụng cho kế thừa. - Việc triển
Carkhai phải công khai, không tĩnh cho tất cả các tính năng được liệt kê trong bảnIVehiclethiết kế. - Nếu
Carquyết định thực hiện nhiều bản thiết kế (giao diện) có các tính năng tương tự, cần phải rõ ràng về tính năng nào đến từ bản thiết kế nào.
Dưới đây là cách thực Car thi giao diện IVehicle trong mã:
public class Car : IVehicle
{
private int _speed;
private string _color;
public int Speed
{
get { return _speed; }
set { _speed = value; }
}
public string Color
{
get { return _color; }
set { _color = value; }
}
}
Ghi
Ký : hiệu được sử dụng để chỉ ra rằng thực Car thi IVehicle, tương tự như cách được sử : dụng để chỉ kế thừa.
Trong ví dụ này, Car là một lớp thực thi giao diện và IVehicle cung cấp các phiên bản riêng của và SpeedColor. Nó giống như xây dựng một chiếc xe dựa trên bản thiết IVehicle kế nhưng thêm chạm độc đáo của riêng mình vào tốc độ và màu sắc.