两类交互

本文关键字:两类 交互 | 更新日期: 2023-09-27 18:31:37

class Game
{
    byte[,] map = new byte[5, 5];
    Player p;
    public Game()
    {
        p = new Player();
    }
    public void Update()
    {
        p.Update();
    }
}
class Player
{
    public Player()
    {
        //init...
    }
    public void Update()
    {
        //this code needs map
    }
}

如何在Player.Update()到达Gamemap?当然,最令人讨厌的解决方案是向Player.Update()添加一个map参数。但这种方式在我看来是错误的。我最近读了C++本书,知道了指针。我正在考虑在类中添加指向map Player指针并在Player.Update()中使用它。我知道C#也有指针,但从未使用过它们。在这种情况下使用它们是好事吗?或者也许有更好的解决方案来解决这种情况而不涉及指针?我知道我在OOP方面很糟糕。

两类交互

显然,您需要找出什么是引用类型以及什么是对象引用。这对于使用 C# 至关重要。由于两个类都是引用类型,因此使用该类型声明的所有变量都是对对象的引用。

您只需将Game传递给Player.Update即可传递对现有游戏的引用。