【发布时间】:2013-02-12 09:53:15
【问题描述】:
我的应用程序中有三个类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 文件的必要数据被放入每种类型的长度不同的字符串数组。我想遵循通用类的方法:class ReadDataFromFile<T>{},但我找不到应该如何处理不同类型,因为每个类型都需要调用不同的构造函数。我应该检查instanceof 的类型吗?我应该将每个对象的类传递给方法吗?或者,还有更好的方法?
【问题讨论】:
-
也许你正在修复一些没有损坏的东西。
标签: java oop generics abstract-class