java - 包含作为参数传递的对象的函数的设计困难

标签 java eclipse

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

我想要做的是创建一个具有 GObject 和 Color 对象参数的函数,并适本地调用 setFilled() 和 setColor (因为为每个形状对象重新输入此值是极其多余的)。

我遇到的问题是这样的,

GObject 类是 GRect、GOval、GLine 等的父类(super class),但实际上并不包含 setFilled 函数(因此在尝试参数头(例如函数 f(GOBject A, Color ArgC))时会抛出错误。

那么我应该如何创建这个函数,或者甚至可以在不编辑 GObject 标准化库的情况下创建这个函数。我想我可以通过简单地在 GObject 中创建一个空的 setFilled 函数来处理这个错误,但据我了解,进入标准化库并任意进行更改通常是一个坏主意,进行更改的正确方法应该是扩展/重载根据需要来自子类。不管怎样,我的编译器陷入了僵局,所以我愿意接受想法,谢谢。

P.S/不相关问题为什么标题框中禁止使用“问题”一词?

最佳答案

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

关于java - 包含作为参数传递的对象的函数的设计困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372746/

相关文章:

java - 在 OSGi 框架中运行基于 SWT 的 GUI

android - Eclipse IDE 超出 Java 堆空间 - Windows XP

java - !MESSAGE 引用的部分尚不存在 : org. eclipse.jdt.ui.PackageExplorer

java - Gradle Eclipse 插件

Java 库哪些不是二进制文件?

Java制作txt文件

java - 要求用户输入遵循字符串格式

java - 为什么 Hibernate 允许我在外键约束上插入空值?

Java引用不能用作指针?

java - 如何正确关闭使用 Locale 的 Java 扫描仪