我的应用程序中有三个类User
, Group
,Company
它们不属于同一个继承树,正如它们的名字所揭示的那样。每个类都有一个构造函数,它接收许多(不同的)参数,即:User(String name, String password, int type)
, Group(String name, String name)
, Company(String name, int employees, boolean isValid)
. 对于所有类,每个构造函数所需的参数数量并不相同。我创建了一个类ReadDataFromFile
来从 txt 文件中读取一些数据并创建新的对象,将数据作为参数传递给上述构造函数。这个类的代码对于每种类型显然都是相同的,除了一个创建对象的方法。因此,创建三个不同的类是不合适的,但我最好以更好的设计方法为目标。
我的问题是这个场合的合适设计是通用类还是抽象类并在其子类中实现不同的一种方法createObject()
,假设来自 txt 文件的必要数据被放入具有不同长度的字符串数组中每种类型。我想遵循 Generic class: 的方法class ReadDataFromFile<T>{}
,但我找不到应该如何处理不同的类型,因为每个类型都需要调用不同的构造函数。我应该检查类型instanceof
吗?我应该将每个对象的类传递给方法吗?或者,还有更好的方法?