在另一个 class 中访问没有静态引用的数组(OOP)

Accessing an array without static references in another class (OOP)

我是面向对象编程的新手,我为自己当前的项目设定了一个严格的目标,即不使用静态变量。在这个过程中我会尝试学习OOP。

我使用的是 Haxe 语言,它是我见过的最好的语言之一。

我对 C 指针了解一点,指针只存储变量的地址,所以它几乎是同一个变量,只是占用更少space(尤其是对于大变量)。

现在回到现在,我想要一个对象数组的指针引用 class 因为

我应该如何访问这个数组? 还是有其他的 OOP 设计模式之类的?

如有不妥请指正

这篇简报中有很多问题。

您可以只传递所有变量的上下文,它将通过指针传递

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。