Trong khi làm việc trên bản nâng cấp, tôi tình cờ gặp một mã như thế này.Ngụ ý và triển khai rõ ràng giao diện
interface ICustomization
{
IMMColumnsDefinition GetColumnsDefinition();
}
class Customization : ICustomization
{
private readonly ColumnDefinition _columnDefinition;
//More code here.
public ColumnsDefinition GetColumnsDefinition()
{
return _columnDefinition;
}
ColumnsDefinition ICustomization.GetColumnsDefinition() //redundant
{
return GetColumnsDefinition();
}
}
Câu hỏi của tôi là: Có cần sử dụng giao diện 'rõ ràng' trong đoạn mã này không? Nó sẽ tạo ra bất kỳ vấn đề nếu tôi loại bỏ các phương pháp (thực hiện rõ ràng của giao diện) mà tôi đã đánh dấu "dư thừa" ở trên?
PS: Tôi hiểu rằng việc triển khai giao diện rõ ràng là rất quan trọng và có thể được sử dụng khi chúng tôi chỉ cấp quyền truy cập vào phương thức ở cấp giao diện và sử dụng hai giao diện có cùng chữ ký.
Tại sao việc triển khai ảo không rõ ràng là lý do để có triển khai rõ ràng? Và nếu bạn thực hiện cả hai và tạo ra một lớp con, điều gì sẽ xảy ra nếu bạn gọi phương thức trên một biến giao diện tham chiếu đến một đối tượng lớp con? Bạn có thể cung cấp một ví dụ? _hãy xem [câu hỏi của tôi] (http://stackoverflow.com/q/10165296/537956) ._ – comecme