gpt4 book ai didi

java - $Include #include 等价于 Java

转载 作者:行者123 更新时间:2023-11-29 08:07:40 27 4
gpt4 key购买 nike

我有一个非常庞大且臃肿的类,我想将它拆分成单独的文件,但它应该对用户完全透明并且与使用该类的现有项目兼容。

特别是,我有自己的 ImageMatrix 类,它定义了大量的一元函数、大量带有标量的二元函数、大量带有另一个图像的二元函数等。为了保持类干净且可维护,我希望将每个运算符类放在一个单独的文件中。

有没有办法将这些方法剪切/粘贴到文件中并将它们包含在源代码中?

所以我希望我仍然可以这样做,但这些方法实际上驻留在不同的文件中:

    ImageMatrix img = new ImageMatrix(800, 600, 3);
img.clear(0.5f, 0.0f, 0,0f);
img.addSelf(anotherImg);
img.normalize();
img.abs();
img.addSelf(0.5);

每个方法大约有 15-30 行代码,因为实现针对性能进行了极度优化,而 Bufferedimage 或什至是普通 int[] 都不可能实现类似的功能。有很多代码重复,这是将类似方法组合在一起的主要原因。如果我添加一个函数或如果我更改全局行为(如错误检查),我可以轻松地保持事情的连贯性。

最佳答案

遗憾的是,无法将 Java 类定义拆分为多个文件。

尝试重构您的代码,这样就不需要庞大的类定义了。这通常意味着通过 getter 和 setter 方法公开一些状态,并编写使用这些方法向主类添加功能的支持类。

在您的情况下,您可能会考虑添加支持类,例如 ImageFilters,如果您喜欢非常小的类,甚至可以考虑添加更窄的类,例如 ImageNormalizer

关于java - $Include #include 等价于 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10025239/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com