抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

类是什么

类是抽象的一个定义,只是定义不能用.
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
//echo 'I am AWP'; //有趣带 , 的 echo 前面不能有 echo 否则不显示
$AWP = new gun(10);
echo "Use AWP\n",$AWP->getMagazine(),"\n";
$AWP->fire();
echo $AWP->getMagazine(),"\n";


//再买一把AK
$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

从上面的例子可以看出,类和类的实例是一个什么样的关系.
类就是一项事物的抽象总结.他是个概念,不能用于实际操作,只是定义了一类物品统一的属性与功能.
上面类的属性就是弹夹,功能就是开火.
而实例呢就是真家伙了.利用类类这个图纸,做出了AWPAK.这两个是两个家伙,虽然有共同的属性和方法,但是他们的确是两个家伙,所以开火以后剩余的子弹数是不一样的.所以说为什么是个图纸,如果两个地方用到类,属性是同一个那岂不完蛋.
所以要记住,类是图纸,实例才是工具

评论