我是面向对象编程的新手,我为自己当前的项目设置了一个严格的目标,即不使用静态变量。在这个过程中,我将尝试了解OOP。
我使用的是Haxe语言,它是我见过的最好的语言之一。
我对C指针有一点了解,并且指针只存储变量的地址,因此它几乎是相同的变量,只占用较少的空间(特别是对于大变量)。
现在回到现在,我希望对一个类的对象数组进行指针引用,因为
我应该如何访问此阵列? 或者是否有其他OOP设计模式?
如果我出错了,请纠正我。
答案 0 :(得分:2)
这篇简报中有很多问题。
您可以沿着所有变量传递上下文,它将通过指针传递
class Context{
var level:Level=null;
var enemies:Array<Enemy>=[];
}
class Enemy{
var ctx:Context;
function new(ctx){ this.ctx=ctx; }
}
class Main{
static function main(){
new Game(new Context());
}
}
在游戏中,将上下文传递给每个人:
new Enemy(ctx);
等...
坦率地说,将静态用于上下文通常比较容易,例如
class Context{
static var level:Level;
}
但这取决于你:)
作为旁注,所有非基元都是结构(ex数组)的指针,就像java一样。