首页 > 解决方案 > 将两个子类的对象存储在同一个 Vector/List 中

问题描述

我目前正在为一个学校项目开发一个基本的光盘信息管理系统,用户可以在其中添加/删除光盘信息。规格中提到了两种类型的光盘,音乐和游戏。它们都有一些共享属性,所以我创建了一个超类Disc,它有两个子类MusicGame继承这些共享属性的磁盘。规范还规定,两种类型的光盘都需要一个可维护的列表,因此无论用户选择添加音乐还是游戏,它都会被添加到一个DiscInfo列表中。

我的问题是,如何定义两个对象的列表?子类的对象也是超类的对象吗,所以我可以创建一个Disc对象列表,可以在其中添加/删除一个Music或多个对象?Game

我是 OOP 的新手,所以我对类和对象的理解非常初级,我可能想错了。希望我的问题有意义。

标签: javalistoopobjectsubclass

解决方案


如果您的列表大小已知,您可以使用数组类型,但您也可以使用列表或向量。由于多态性,您可以将任何子类型 fromDisc放入List<Disc>


推荐阅读