php 类实例,PHP上的类实例?

这篇博客探讨了在PHP中如何创建一个`Monster`类,包括设置初始HP和唯一ID。通过创建一个`MonsterTeam`辅助类来管理多个怪物实例,允许方便地计算所有怪物的总HP。这种方法避免了手动更新总HP值的问题。文章还提出了在增加新怪物时保持代码整洁的解决方案。
摘要由CSDN通过智能技术生成

标签:php

我不知道它叫什么,我相信它是实例.

假设我们有一个“ Monster”类.此类应包含“健康”值.在创建类时将其设置为“ 5”.对于每个怪物,它还应该包含唯一的ID值.

我考虑这样的事情:

$monster_1 = new Monster(); //sets monster ID to 1

$monster_2 = new Monster(); //sets monster ID to 2

$monster_3 = new Monster(); //sets monster ID to 3

因此,假设我要计算所有怪物的总HP.

$totalHp = $monster_1->getHp() + $monster_2->getHp() + $monster_3->getHp();

它也将起作用,但是如果我添加一个名为$monster_4的新怪物该怎么办.我将不得不手动将其添加到$totalHp计算中.

我可以用数组代替$monster变量,并用foreach计算$totalHp-但看起来很奇怪…

我不知道其他语言的处理方式.

还有其他方法可以存档吗?

附言我正在尝试了解“ http://www.scirra.com/demos/ghosttutorial/”游戏背后的逻辑.您创建一个Monster类,每个Monster使用该类作为实例.我的解决方案肯定可以工作,但是我不确定这是否是归档的好方法.

解决方法:

创建一个包含一组Monsters的帮助程序类,也许是MonsterTeam类;

class Monster {

...

}

class MonsterTeam {

private $_monsters = [];

public function addMonster(Monster &$monster) {

array_push($this->_monsters, $monster);

}

public function getTotalHp() {

$hp = 0;

foreach ($this->_monsters as $monster) {

$hp += $monster->getHp();

}

return $hp;

}

}

$team = new MonsterTeam();

$monsterA = new Monster();

$team->addMonster($monsterA);

$monsterB = new Monster();

$team->addMonster($monsterB);

echo "Total HP: " . $team->getTotalHp();

标签:php

来源: https://codeday.me/bug/20191201/2079227.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值