php类可以传参数,php – 将整个Class作为参数传递给另一个Class

到目前为止,我觉得我已经理解了OOP编程的概念和优点,而且我对理解如何使用

PHP中的类没有任何困难.

然而,这让我有点困惑.我想我可能会理解,但我仍然不确定.

我一直在关注一组视频教程(不确定链接到外部资源的规则,但我在youtube上找到它们),并且它们非常自我解释.除了令人沮丧的是,当导师决定将一个类作为参数传递给另一个类时.至少我认为这是正在发生的事情;

Class Game

{

public function __construct()

{

echo 'Game Started.
';

}

public function createPlayer($name)

{

$this->player= New Player($this, $name);

}

}

Class Player

{

private $_name;

public function __construct(Game $g, $name)

{

$this->_name = $name;

echo "Player {$this->_name} was created.
";

}

}

然后我实例化Game类的一个对象并调用它的方法;

$game = new Game();

$game-> createPlayer('new player');

相当令人沮丧的是,导师并没有真正解释他为什么这样做,并且在我看来,并没有显示代码中任何可以证明这一点的调用.

Player中的魔术方法构造函数是否在Game类中作为引用传递?这是否意味着可以通过引用在Player类中访问整个类?在引用$this而不指向任何特定方法或属性时,是否引用了整个类?

如果这是正在发生的事情,那么我为什么要这样做呢?如果我在我的游戏类中创建了一个播放器,那么我肯定可以在游戏类中访问我的播放器属性和方法,对吧?为什么我还要在我的Player类中使用我的Game Class?例如,我可以在Player类中调用createPlayer()吗?

如果我的解释一直令人困惑,我道歉.

我想我的问题归结为;什么是我作为参数准确传递,为什么我想在每天OOP编程中做到这一点?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值