Na tentativa de entender completamente como resolver os vários problemas de herança do Java, tenho uma pergunta clássica que preciso ser esclarecida.
Vamos dizer que eu tenho classe Animal
isto tem subclasses Bird
e Horse
e eu preciso fazer uma classe Pegasus
que se estende a partir Bird
e Horse
uma vez Pegasus
é ao mesmo tempo um pássaro e um cavalo.
Eu acho que esse é o problema clássico dos diamantes. Pelo que entendi, a maneira clássica de resolver isso é criar as interfaces Animal
, Bird
e Horse
classes e implementar a Pegasus
partir delas.
Fiquei me perguntando se havia outra maneira de resolver o problema em que ainda posso criar objetos para pássaros e cavalos. Se houvesse uma maneira de criar animais, isso seria ótimo, mas não necessário.
public class Pegasus extends Horse implements Flying
.