0

我正在创建自定义形状类,它只是由构造函数参数定义的其他形状的一些选择。

所以,我有以下类标题:

public class SetShape implements Shape {

private final Shape shape;

在构造函数中,我设置了 shape 字段,然后我将实现所有 Shape 接口方法,将它们委托给该字段。

有可能以某种方式自动化吗?是否已经为此定义了任何类?能GeneralPath有这样的课吗?

用前一个实例初始化的一些Shape实例和实例有什么区别?GeneralPathShape

4

2 回答 2

0

看起来你想要的比你想象的要简单:

public class SetShape implements Shape {

    private final Shape shape;

    public SetShape(Shape shape) {
        this.shape = shape;
    }

    @Override
    public boolean contains(double x, double y) {
        shape.contains(x, y);
    }

}

并对Shape接口中的所有方法做类似的事情。请记住,传递给构造函数的任何内容都保证包含所有这些方法的实现。

于 2012-06-16T03:39:21.100 回答
0

尝试PolygonArea。特别是后者将允许您通过相交添加等方式连接形状。

于 2012-06-15T20:04:04.550 回答