Tất cả đều tốt và tốt khi bạn có toàn quyền kiểm soát tất cả các mã được đề cập và có thể triển khai trả trước này. Bây giờ hãy tưởng tượng bạn có một lớp công khai hiện có được sử dụng ở nhiều nơi với một phương thức
public class MyClass{
private String name;
MyClass(String name){
this.name = name;
}
public String getName(){
return name;
}
}
Bây giờ bạn cần chuyển nó vào WizzBangProcessor có sẵn yêu cầu các lớp triển khai WBPInterface ... cũng có phương thức getName (), nhưng thay vì triển khai cụ thể của bạn, giao diện này yêu cầu phương thức trả về tên của một kiểu của Wizz Bang Chế.
Trong C # nó sẽ là một sự tầm thường
public class MyClass : WBPInterface{
private String name;
String WBPInterface.getName(){
return "MyWizzBangProcessor";
}
MyClass(String name){
this.name = name;
}
public String getName(){
return name;
}
}
Trong Java Tough, bạn sẽ phải xác định mọi điểm trong cơ sở mã được triển khai hiện có nơi bạn cần chuyển đổi từ giao diện này sang giao diện khác. Chắc chắn công ty WizzBangProcessor nên sử dụng getWizzBangProcessName (), nhưng họ cũng là nhà phát triển. Trong bối cảnh của họ, getName đã ổn. Trên thực tế, ngoài Java, hầu hết các ngôn ngữ dựa trên OO khác đều hỗ trợ điều này. Java hiếm khi buộc tất cả các giao diện được triển khai với cùng một phương thức NAME.
Hầu hết các ngôn ngữ khác có một trình biên dịch rất vui khi thực hiện một hướng dẫn để nói rằng "phương thức này trong lớp này khớp với chữ ký của phương thức này trong giao diện được triển khai này là nó đang thực hiện". Xét cho cùng, toàn bộ điểm của việc xác định giao diện là cho phép định nghĩa được trừu tượng hóa khỏi việc thực hiện. (Đừng khiến tôi bắt đầu với việc có các phương thức mặc định trong Giao diện trong Java, chứ đừng nói đến việc ghi đè mặc định .... bởi vì chắc chắn, mọi thành phần được thiết kế cho ô tô đường bộ đều có thể bị đâm vào một chiếc ô tô đang bay và chỉ hoạt động - này cả hai đều là ô tô ... Tôi chắc chắn rằng chức năng mặc định nói điều hướng sat của bạn sẽ không bị ảnh hưởng với đầu vào cao độ và cuộn mặc định, vì ô tô chỉ ngáp!