gpt4 book ai didi

Java has-a 关系

转载 作者:行者123 更新时间:2023-12-02 07:30:09 30 4
gpt4 key购买 nike

下面的说法正确吗? “人最好的 friend 是狗。”

public class Mann {
private BestFriend dog;
//etc
}

最佳答案

我想说这样写会更正确:

public class Man extends Entity {
private Entity bestFriend = new Dog(); // Where Dog extends Entity
//etc
}
为什么?假设您有一堆不同的实体,例如 ManCatDog。那么让它们各自扩展一个 Entity 类就有意义了,该类指定每个实体应具有的各种属性。那么,每个实体都可以有一个 bestFriend 属性,该属性可以是任何其他 实体

但是,正如评论中所指出的,允许在构造函数中指定 bestFriend 会更正确:

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);

关于Java has-a 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10307721/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com