did*_*ido 2 java inheritance relationship
下面的陈述是否正确如下."一个男人有一个最好的朋友是狗."
public class Mann {
private BestFriend dog;
//etc
}
Run Code Online (Sandbox Code Playgroud)
我想说写一下会更正确:
public class Man extends Entity {
private Entity bestFriend = new Dog(); // Where Dog extends Entity
//etc
}
Run Code Online (Sandbox Code Playgroud)
为什么?比方说,你有一堆不同的实体,比方说的Man,Cat和Dog.然后让它们各自扩展一个Entity类是有意义的,它指定每个实体应具有的各种属性.然后,每个人都可以拥有一个bestFriend属性,可以是任何其他属性Entity.
但是,正如评论中指出的那样,允许bestFriend在构造函数中指定a更为正确:
public class Man extends Entity {
private Entity bestFriend;
public Main(Entity bestFriend) {
this.bestFriend = bestFriend;
}
//etc
}
...
Dog bobDog = new Dog();
Man bob = new Man(bobDog);
Run Code Online (Sandbox Code Playgroud)