试图访问另一个类中的方法

坦佩利斯1

因此,我想编写一段代码,循环遍历包含类的不同实例的链表,挑选具有特定 ID 的实例,运行该实例类中包含的方法并更改特定于该实例的变量。但是,我似乎无法访问给定对象中包含的方法。关于如何从其他类访问方法的任何想法?

public void tick() {
    for(int i=0; i < handler.object.size() ;i++) {
        GameObject tempObject = handler.object.get(i);
        if (tempObject.getId() == ID.FlashCardCover){
            //run a method in FlashCardCover class on this individual object
        }
    }   
}
斯蒂芬·P

您的原始代码:

public void tick() {
    for(int i=0; i < handler.object.size() ;i++) {
        GameObject tempObject = handler.object.get(i);
        if (tempObject.getId() == ID.FlashCardCover){
            //run a method in FlashCardCover class on this individual object
        }
    }   
}

如果我正确地解释了这一点,那么您有一些GameObjects 并且其中一种 GameObject 是FlashCardCover. 您可以通过检查“Id”(我将其称为“TypeId”或仅称为“Type”)来确定这一点

因此,当您遍历您的游戏对象时,您希望在该特定游戏对象实际上是 FlashCardCover 时调用某些方法。您可以通过调用该对象上的方法来做到这一点,比如说像tempObject.uncoverCard()——但当然你不能这样做,因为游戏对象没有uncoverCard方法。
这是您使用演员表的地方

public void tick()
{
    for (int i=0; i<handler.object.size(); i++)
    {
        GameObject tempObject = handler.object.get(i);
        if (tempObject.getId() == ID.FlashCardCover) {
            FlashCardCover c = (FlashCardCover) tempObject;
            c.uncoverCard();
        }
    }   
}

您已将 thetempObject转换为 aFlashCardCover并且是一个您可以在其上调用“uncoverCard”方法的对象。
演员不必分两行完成(我这样做是为了清楚起见)——您可以同时进行演员和调用,例如((FlashCardCover) tempObject).uncoverCard()

请注意,这一切都假设 FlashCardCover 是 GameObject 的子类,例如

public class FlashCardCover extends GameObject { ... }

如果没有,你会得到一个 ClassCastException

现在解释完所有内容......您不需要自己的类型代码来进行这种类型的转换,您可以使用它instanceof

if (tempObject instanceof FlashCardCover) {
    // do your thing
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Android中的另一个类访问方法

来自分类Dev

如何通过在Javascript另一个类的实例访问另一个类中的方法

来自分类Dev

React Native-this.updateTimeState不是一个函数。试图在另一个方法中引用类方法?

来自分类Dev

访问另一个类的类方法/变量

来自分类Dev

从另一个脚本访问类中的类?

来自分类Dev

从另一个脚本访问类中的类?

来自分类Dev

从同一个类中的另一个方法访问作为方法传递给另一个类的方法

来自分类Dev

试图从另一个类中获取一个变量

来自分类Dev

试图从另一个类中获取一个变量

来自分类Dev

从run方法锁定对另一个类的访问

来自分类Dev

访问另一个类的公共方法

来自分类Dev

从另一个类访问方法时出错

来自分类Dev

如何访问另一个类的方法?

来自分类Dev

将一个方法中的变量访问到同一类中的另一个方法

来自分类Dev

访问另一个DLL中的类?

来自分类Dev

从Java中的另一个类访问变量

来自分类Dev

在JAVA中访问另一个类变量

来自分类Dev

从android中的另一个类访问ui

来自分类Dev

从Android中的另一个类访问按钮

来自分类Dev

在另一个类中访问PDO对象

来自分类Dev

在另一个类中访问NSMutableArray

来自分类Dev

访问另一个类中的参数

来自分类Dev

从接口访问另一个类中的对象?

来自分类Dev

快速访问另一个类中的变量

来自分类Dev

访问在另一个类中创建的对象

来自分类Dev

如何访问另一个DLL中的类?

来自分类Dev

从Java中的另一个类访问变量

来自分类Dev

从 swift 中的另一个类访问 navigationBarController

来自分类Dev

从同一类中的另一个方法访问变量