我为学校作业编写了一个小游戏,我们不得不点击移动的椭圆来获得积分。 这是我制作的两个课程:
磁盘类
package hw22;
import processing.core.PApplet
public class Disk{
static PApplet cv;
Disk(PApplet canvas){
cv = canvas;} // end of disk constructor
}// End of disk class
myGame类
package hw22;
import processing.core.PApplet;
public class myGame extends PApplet {
//Some code
Disk d = new Disk(this);. //here I am passing it myGame
// Do some stuff
}// End of myGame class
所以我的问题是:
如果我通过了磁盘类'构造函数是一个myGame对象,当它期待一个PApplet对象然后为什么我的游戏工作?不应该抱怨我传递错误类型的物体吗?
答案 0 :(得分:1)
当你写myGame
extends PApplet
时,这意味着类myGame
的任何对象也 a PApplet
,可能还有一些额外的常规PApplet
对象没有的功能。但是,只要您的代码需要PApplet
引用,myGame
引用就可以了,因为myGame
是PApplet
。由于您在this
课程中使用myGame
,this
实际上是对myGame
的引用。