0

如果函数返回 2 个值,例如:数组中的 min/max 或例如点的 x 和 y 轴,则需要创建一个对象,因为函数不能返回 2 个值。

现在,考虑一个客户端,其“唯一”功能是在返回的对象中使用 getter 并打印。AND 返回的对象说 MinMax 或 Point 对象仅由一个类创建,

我们应该使用嵌套类(例如:MinMax,Point 可以是嵌套类)还是使用顶级类?

这是一个通用问题 - 以下只是与该问题相关的一个示例。请完成与代码示例相关的答案,因为它是一个非常通用的问题,不受示例代码的约束。

Point 类是否应该是类似于 arraylist 返回的方式返回的内部类?

class Point {
    private final int x;
    private final int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    int getX() {
        return x;
    }

    int getY() {
        return y;
    }
}

public class IntersectionOf2Lines {

    public static Point calculateIntersection(Line line1, Line line2) {
        int x = (line2.getConstant() - line1.getConstant()) / (line1.getSlope() - line2.getSlope());
        int y = line1.getSlope() * x + line1.getConstant();

        return new Point(x, y);
    }


 Line line3 = new Line(2, 2);
         Line line4 = new Line(3, 2);

         Point p1 = IntersectionOf2Lines.calculateIntersection(line3, line4);
         System.out.println("Expected: x = 0, Actual x = " + p1.getX() + " Expected y=2, Actual y = " + p1.getY()); 
4

1 回答 1

2

恕我直言,这是风格问题。我会从第一次阅读您的代码的人的角度来看它。你想让哪些课程变得明显,哪些课程你想分组,他们只需要在了解细节时阅读。

顺便说一句:嵌套类需要嵌套在另一个类的范围内,而不仅仅是在与您的示例相同的类文件中。

于 2013-06-15T22:48:27.993 回答