两类互动

时间:2014-11-21 19:16:44

标签: c# oop

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
    }
}

如何在Game中与map Player.Update()联系?最重要的解决方案是向map添加Player.Update()参数。但这种方式对我来说似乎不对。我最近阅读了C ++书籍并了解了指针。我在考虑在map类中添加指向Player的指针,并在Player.Update()中使用它。我知道C#也有指针,但从未使用它们。在这种情况下使用它们是好事吗?或者也许有更好的解决方案,这种情况不涉及指针?我知道我在OOP非常糟糕。

1 个答案:

答案 0 :(得分:3)

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

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