对以下C#代码的说明

时间:2015-02-02 00:24:45

标签: c#

    private Player _P1;

    public Character_Details(Player _Player)
    {
        InitializeComponent();
        _P1 = _Player;
    }

我们的导师从未真正解释过这一点,基本上我想知道P1 = Player做了什么以及为什么有必要。

基本上,我假设,比方说我通过另一个类调用这个构造函数:

角色详情CD =新角色详情(P1);

前提是,在调用构造函数之前,我已经向P1发送了值,P1,当传递给构造函数时,对象引用被传递给Character Detail的构造函数(_Player),然后被赋值通过构造函数到P1然后将值存储在私有变量?

这是对的吗?

2 个答案:

答案 0 :(得分:3)

P1已被定义为私有变量,这意味着它只是"可见"当你在OO(面向对象)设计模型中编写代码并且不希望其他类直接访问你的变量时,这通常是一种很好的做法。

Character_Details方法是public,这意味着其他类可以在实例化包含它的类的实例后执行该方法(如果您不知道这意味着什么,请查找构造函数)。它需要Player类型的变量。一旦P1 = Player行执行,包含P1变量的类的实例将其引用设置为变量" Player"传入方法Character_Details。

示例代码本身应该稍微重写,给变量一个完全相同的名称,它的类型不是好习惯。 ("玩家玩家"应该是"玩家_播放器"或类似的东西)。

答案 1 :(得分:0)

P1 = Player将传递给构造函数的Player的值分配给正在创建的P1对象的字段Character_Details