Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将list类拆分为依赖和独立方法_Java - Fatal编程技术网

Java 将list类拆分为依赖和独立方法

Java 将list类拆分为依赖和独立方法,java,Java,所以我正在做这个项目(针对一个类),我有一个大的“列表”类,它处理一系列对象和所有依赖的方法,比如getters setters和类似的方法。然而,我也有像排序和搜索一样的东西在同一个类中,我想把这个类分成两个类。一个处理所有依赖方法(如getter和setter),另一个处理所有排序搜索和打印。我只是尝试将这些方法复制到另一个类中,该类将是List类的一个子类,但是通过调用子类之外的东西,我当然会遇到很多错误。有没有一种方法可以自动拆分这个类,使它能够处理所有这些错误,并改变sintax的工作

所以我正在做这个项目(针对一个类),我有一个大的“列表”类,它处理一系列对象和所有依赖的方法,比如getters setters和类似的方法。然而,我也有像排序和搜索一样的东西在同一个类中,我想把这个类分成两个类。一个处理所有依赖方法(如getter和setter),另一个处理所有排序搜索和打印。我只是尝试将这些方法复制到另一个类中,该类将是List类的一个子类,但是通过调用子类之外的东西,我当然会遇到很多错误。有没有一种方法可以自动拆分这个类,使它能够处理所有这些错误,并改变sintax的工作方式?(不幸的是)我正在使用Eclipse

PS:因为我必须通过安全分配提交我的项目,所以我无法共享代码,因为它将标记匹配,并且我将在项目上获得0


谢谢

拆分类听起来确实是个好主意,但我不认为扩展列表类是个好设计。最好公开用于排序和搜索的特定方法(例如,比较项目、查找项目、遍历项目)。然后,单独的类可以使用列表中公开的primative方法提供各种实用程序方法。这是Java的集合库采用的方法,可能也是适合您的方法。它将用于操作列表的逻辑与您想用它做的各种事情分开,这比使用子类化来公开内部结构要好得多。

intellij对重构有很好的支持。在(它将方法移动到子类中,这些子类需要存在)。可能无法修复所有错误,只考虑一个设计说明…如果您有一个类只有getter和setter,另一个类只有逻辑,那么您很可能正在破坏封装。一个类有数据,一个类有逻辑不是解决方法。您能想出一种方法来删除getter和setter吗?并公开更高级别的o操作?尽管如此,我不知道你实际上在做什么,所以这在你的情况下可能很有意义。我需要这样做的原因有两个。1.我有很多方法,我想把分类和内容放在一个单独的第二课堂上。据我所知,这是我们的教授希望我们这样做的。“我认为扩展列表类不是一个好的设计"。我也不知道。
java.util
是一个很好的例子。排序和搜索内容大部分不在collection类本身,而是在一个实用类中,如
java.util.Array
java.util.Collections
,对我来说,这个设计看起来不错。如果我提出了自己的集合,用户仍然可以使用m
java.util.Collections
中的方法(也解释了my+1)