Trong nỗ lực hiểu đầy đủ cách giải quyết nhiều vấn đề thừa kế của Java, tôi có một câu hỏi kinh điển mà tôi cần làm rõ.
Cho phép nói rằng tôi có lớp học Animalnày có các lớp phụ Birdvà Horsevà tôi cần phải thực hiện một lớp học Pegasuskéo dài từ Birdvà Horsekể từ khi Pegasuslà cả một con chim và một con ngựa.
Tôi nghĩ rằng đây là vấn đề kim cương cổ điển. Từ những gì tôi có thể hiểu được cách cổ điển để giải quyết việc này là làm cho Animal, Birdvà Horsecác lớp giao diện và thực hiện Pegasustừ họ.
Tôi đã tự hỏi nếu có một cách khác để giải quyết vấn đề mà tôi vẫn có thể tạo ra các vật thể cho chim và ngựa. Nếu có một cách để có thể tạo ra động vật cũng sẽ rất tuyệt nhưng không cần thiết.
public class Pegasus extends Horse implements Flying.