gpt4 book ai didi

java - LinkedList...继承...什么?

转载 作者:行者123 更新时间:2023-12-02 08:23:34 29 4
gpt4 key购买 nike

我不明白这个作业要求我做什么...

在我们的上一个项目中,我们创建了一个 person.java 类,该类创建了一系列人(或只是人的实例)...并且它有他们的 ID、他们的妈妈、他们的爸爸、出生日期、 child 的数量,以及他们的 child 的阵列。它具有可预测的方法,例如获取或设置妈妈和爸爸、添加 child 、删除 child 、取消设置妈妈或爸爸、 boolean 值以查看另一个实例是否是该实例的 child 、获取性别、获取 id...我认为就是这样。

无论如何......这个项目的重点是对我们上一个项目进行一些小的改变,以允许每个人类(class)有无限数量的 child 。最后一个项目有一个静态 int 变量,将允许的子级最大数量设置为 10。

为此,我们要实现一个列表。并创建另一个名为 personlist.java 的类,它是 java.util.LinkedList 的子类。我们必须确保将 Person.java 保存在创建 PersonList.java 的同一项目中,以便编译器可以识别 java.util.LinkedList。 PersonList 类应该透明地处理与添加/删除/查找人员的子级相关的所有方法。由于 PersonList 是 LinkedList 的子类,因此我们将拥有可用的所有 LinkedList 方法。

我什至不知道从哪里开始。我仍然有我的 Person.java 类。我正在使用 Eclipse...所以我创建了一个新项目。创建了一个名为 PersonList.java 的类。创建另一个名为 Person.java 的类并将我的旧项目复制到其中。

如何声明新类以便它与 Person.java“通信”?

import java.util.LinkedList;

public class PersonList extends LinkedList<Person> {

}

是吗?我也很困惑为什么我们没有被告知只需修改 Person.java 以利用链接列表。我能做到。为什么要创建另一个名为 PersonList.java 的类?那里面到底有什么?如何从 Person.java 调用 PersonList.java 中的方法?

任何见解将不胜感激!

最佳答案

将 Person 类中的 child 变量切换为 LinkedList 类型。

public class Person {
....
private LinkedList<Person> children;
....
}

除非您遗漏了部分问题,否则无需扩展 LinkedList 类。在这种情况下,您需要组合而不是继承。

哦,当您提交作业时,请告诉您的教授您选择解决方案的原因。

关于java - LinkedList...继承...什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5010021/

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