我不明白这个作业要我做什么.
在我们的上一个项目中,我们创建了一个person.java类,它创建了一个people数组(或者仅仅是people的实例)...and它有他们的ID、他们的母亲、他们的父亲、生日、孩子的数量以及他们的孩子的数组。它有一些可预测的方法,比如get或设置妈妈和爸爸,添加孩子,删除孩子,取消设置妈妈或爸爸,布尔值来查看另一个实例是不是这个实例的孩子,获取性别,获取id……我想就是这些。
这个项目的Anyway...the要点是对我们上一个项目做一些小的修改,允许每个person类有无限数量的子类。最后一个项目有一个静态int变量,表示允许的最大子代数设置为10。
为此,我们将实现一个列表。并创建另一个名为personlist.java的类,它将成为java.util.LinkedList的子类。我们必须确保将Person.java保存在创建PersonList.java的同一项目中,以便编译器能够识别java.util.LinkedList。PersonList类应该透明地处理与添加/删除/查找person的孩子相关的所有方法。由于PersonList是LinkedList的子类,因此我们将拥有所有可用的LinkedList方法。
我甚至不知道从何说起。我仍然有我的Person.java类。我正在使用Eclipse...so,我做了一个新项目。创建了一个名为PersonList.java的类。创建了另一个名为Person.java的类,并将我的旧项目复制到其中。
我如何声明这个新类,以便它与Person.java“通信”?
import java.util.LinkedList;
public class PersonList extends LinkedList<Person> {
}是那么回事吗?我也不明白为什么我们没有被告知只修改Person.java来利用链表。我能做到。为什么要创建另一个名为PersonList.java的类呢?那里面到底是怎么回事?如何从Person.java调用PersonList.java中的方法?
任何有见地的人都会非常感谢!
发布于 2011-02-16 06:12:47
将Person类中的子变量切换为LinkedList类型。
public class Person {
....
private LinkedList<Person> children;
....
}除非您省略了问题的一部分,否则根本不需要扩展LinkedList类。在这种情况下,您需要的是组合而不是继承。
哦,当你提交作业的时候,告诉你的教授你为什么选择你的解决方案。
发布于 2011-02-16 10:11:06
LinkedList不是为继承而设计的。转发比继承更好。
https://stackoverflow.com/questions/5010021
复制相似问题