Tôi có thể nói tôi liên quan đến điều đó. Khi tôi mới bắt đầu tìm hiểu về OO và C #, tôi cũng không có Giao diện. Vậy là được rồi. Chúng tôi chỉ cần đi qua một cái gì đó sẽ làm cho bạn đánh giá cao sự tiện lợi của giao diện.
Hãy để tôi thử hai cách tiếp cận. Và tha thứ cho tôi vì sự khái quát.
Hãy thử 1
Nói rằng bạn là một người nói tiếng Anh bản ngữ. Bạn đến một quốc gia khác, nơi tiếng Anh không phải là ngôn ngữ mẹ đẻ. Bạn cần trợ giúp. Bạn cần một người có thể giúp bạn.
Bạn có hỏi: "Này, bạn sinh ra ở Hoa Kỳ phải không?" Đây là sự kế thừa.
Hay bạn hỏi: "Này, bạn có nói tiếng Anh không"? Đây là giao diện.
Nếu bạn quan tâm đến những gì nó làm, bạn có thể dựa vào giao diện. Nếu bạn quan tâm đến những gì là, bạn dựa vào thừa kế.
Dựa vào thừa kế. Nếu bạn cần một người nói tiếng Anh, thích trà và thích bóng đá, bạn nên phục vụ tốt hơn khi yêu cầu người Anh. :)
Hãy thử 2
Ok, hãy thử một ví dụ khác.
Bạn sử dụng các cơ sở dữ liệu khác nhau và bạn cần triển khai các lớp trừu tượng để làm việc với chúng. Bạn sẽ chuyển lớp của bạn đến một số lớp từ nhà cung cấp DB.
public abstract class SuperDatabaseHelper
{
void Connect (string User, string Password)
}
public abstract class HiperDatabaseHelper
{
void Connect (string Password, string User)
}
Đa thừa kế, bạn nói gì? Hãy thử điều đó với trường hợp trên. Bạn không thể. Trình biên dịch sẽ không biết phương thức Connect nào bạn đang cố gắng gọi.
interface ISuperDatabaseHelper
{
void Connect (string User, string Password)
}
interface IHiperDatabaseHelper
{
void Connect (string Password, string User)
}
Bây giờ, có một cái gì đó chúng ta có thể làm việc với - ít nhất là trong C # - nơi chúng ta có thể thực hiện các giao diện một cách rõ ràng.
public class MyDatabaseHelper : ISuperDatabaseHelper, IHiperDatabaseHelper
{
IHiperDataBaseHelper.Connect(string Password, string User)
{
//
}
ISuperDataBaseHelper.Connect(string User, string Password)
{
//
}
}
Phần kết luận
Các ví dụ không phải là tốt nhất, nhưng tôi nghĩ rằng nó được điểm.
Bạn sẽ chỉ "nhận" giao diện khi bạn cảm thấy cần chúng. Cho đến khi họ sẽ nghĩ rằng họ không dành cho bạn.