如何使用OOP原理重构这段代码

问题描述 投票:0回答:1

所以我有一个 EmployeeDatabase ,它有一个

ArrayList<Employee> records
实例变量和一个 ProductDatabase ,它有一个
ArrayList<Product> records
实例变量,它们都共享“相同”的方法,但是它们有不同的返回类型(EmployeeDatabase 将有一个名为
createRecord(String line) 的方法) 
返回
Employee
,而 ProductDatabase 将具有完全相同的方法,但返回类型为 Product)。

起初我想有一个名为 Database 的抽象类,并在其中包含所有这些方法,但是返回类型搞乱了这个想法。为了克服这个问题,我创建了一个名为 Entity 的父类,Employee 和 Product 都继承自该父类,因为它们都有一些共同点。所以现在我的数据库抽象类有一个 ArrayList,但是它不起作用,因为现在我无法在 Employee 和 Product 中访问一些方法,因为我现在正在处理实体列表,并且只能使用 Entity 中的方法,而不是 Employee 和 Product 中的特定方法。

java oop inheritance abstract-class
1个回答
-6
投票

我有同样的问题,也是关于抽象类的。我创建了一个父类。但它仍然不起作用。如果您找到解决此问题的方法,请告诉我。


哈南塔·滨田, 我的网站:Bola88

© www.soinside.com 2019 - 2024. All rights reserved.