类是抽象的一个定义,只是定义不能用.
class.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <?php
class gun{ protected $magazine ='';
public function __construct(int $magazine=0) { $this->magazine = $magazine; }
public function fire(){ $this->magazine--; }
public function getMagazine(){ return $this->magazine; } }
<!--more-->
$AWP = new gun(10); echo "Use AWP\n",$AWP->getMagazine(),"\n"; $AWP->fire(); echo $AWP->getMagazine(),"\n";
$AK47 = new gun(30); echo "Use AK\n",$AK47->getMagazine(),"\n"; $AK47->fire(); $AK47->fire(); $AK47->fire(); echo $AK47->getMagazine(),"\n";
|
运行命令 php class.php
得输出结果
1 2 3 4 5 6 7
| Use AWP 10 9 Use AK 30 27
|
从上面的例子可以看出,类和类的实例是一个什么样的关系.
类就是一项事物的抽象总结.他是个概念,不能用于实际操作,只是定义了一类物品统一的属性与功能.
上面枪
类的属性就是弹夹
,功能就是开火
.
而实例呢就是真家伙了.利用类枪
类这个图纸,做出了AWP
和AK
.这两个是两个家伙,虽然有共同的属性和方法,但是他们的确是两个家伙,所以开火以后剩余的子弹数是不一样的.所以说为什么类
是个图纸,如果两个地方用到类,属性是同一个那岂不完蛋.
所以要记住,类是图纸,实例才是工具