Tôi là khá nhiều người mới bắt đầu java và tôi đã đến để hỏi diễn đàn stackoverflow cho một câu hỏi đơn giản. Tôi đã kiểm tra câu hỏi tương tự ở đây trên SO, nhưng tôi đã không tìm thấy câu trả lời mong muốn, LINK: Is there any relation between the class that implements interface and that interface?Mối quan hệ giữa các lớp thực hiện cùng một giao diện
Chúng tôi biết nếu Cát kéo dài Animal, có một mối quan hệ ở đây. Vì vậy, mèo là một động vật (nhưng không nhất thiết phải khác. Động vật cũng là một con chó ..). Chúng tôi biết mối quan hệ này là "is-a" - thừa kế .
Nếu chúng ta có thêm hai lớp: Cô gái và Kẹo và nếu lớp Cô gái nắm giữ thể hiện của kẹo, sau đó chúng tôi đặt tên cho mối quan hệ này "có-một" - phần, bởi vì chúng ta có thể nói rằng Girls has- một kẹo.
Sửa lỗi nếu tôi đã làm điều gì đó sai với các ví dụ trên.
Dù sao câu hỏi của tôi là liệu có một số mối quan hệ giữa các đối tượng của các lớp thực hiện cùng một giao diện không? Giả sử:
public class A implements InterfaceA {}
public class B implements InterfaceA {}
Nếu có mối quan hệ nào đó, chúng ta có thể tận dụng mối quan hệ đó như thế nào? Cảm ơn câu trả lời của bạn trước ..
EDIT: Đối với những người nghĩ rằng không có mối quan hệ, tôi có một cuốn sách "java cách lập trình ấn bản thứ chín" và có biểu đồ UML hiển thị các lớp thực hiện giao diện trong "mối quan hệ"?
Ảnh:
A là một InterfaceA và chúng ta có thể kiểm tra nó bằng 'myObject instanceof InterfaceA', trong đó myObject là instance của A hoặc B – hoaz
Tôi đề nghị bạn đọc về [Composition over inheritance] (http://en.wikipedia.org/wiki/Composition_over_inheritance) –
Tôi ngạc nhiên bởi cách hầu hết người trả lời cơ bản đã hiểu nhầm câu hỏi này. Nó có vẻ khá rõ ràng với tôi. –