0

因此,我现在正在使用 java 进行一些编程练习,而我正在使用的当前练习涉及使用 acm.graphics 库。基本形状和绘制图片的东西。

我想要做的是创建一个函数,该函数具有 GObject 和 Color 对象的参数,并适当地调用 setFilled() 和 setColor (因为为每个形状对象重新键入它是非常多余的)。

我遇到的问题是这样的

GObject 类是 GRect、GOval、GLine 等的超类,但实际上不包含 setFilled 函数(因此在尝试诸如函数 f(GOBject A, Color ArgC) 之类的参数标头时会引发错误。

那么我应该如何创建这个函数,或者甚至可以不编辑 GObject 的标准化库。我在想我可以通过简单地在 GObject 中创建一个空的 setFilled 函数来处理这个错误,但据我所知,进入标准化库并随意进行更改通常是一个坏主意,并且进行更改的正确方法应该是扩展/重载根据需要从子类中。无论如何,我的编译器陷入僵局,所以我对想法持开放态度,谢谢。

PS/Nonrelevant Question 为什么标题框中禁止使用“问题”一词?

4

1 回答 1

1

改为为 GFillable 接口编写它,因为这是由您所追求的形状实现的。http://jtf.acm.org/javadoc/complete/acm/graphics/GFillable.html

于 2012-11-14T03:55:12.777 回答