版权声明:本文为郝云原创文章,未经郝云允许不得转载。 https://blog.csdn.net/haoyunyun888/article/details/81987370
掌握清楚2个如何?
如何设置一个常量,在类中
如何访问一个常量,在类外
类常量的定义
定义在类里面的常量。
类常量必须使用const关键字定义
const 常量名 = 值;
常量与对象的关系
常量不能通过对象访问
类常量的访问
类常量属于类,而不属于对象。对象是不能访问类常量。
常量的访问必须通过类来实现:
类名::常量名
:: 叫做范围解析操作符
在类的内部经常性的使用类来访问类中的成员,所在类的内部使用类进行访问的时候,有一个类似$this代表对象的关键字:self,自己的意思,代表当前类名
<?php
class person{
//如何定义一个常量
//定义规则:关键词 const 常量名(大写)="常量对于的值"
const NAME='haoyun';
public function getUserName(){
return self::NAME;
}
}
//如何访问一个常量(类外部访问)
//访问规则:类名::常量名
//::代表什么意思? 叫做范围解析操作符
echo person::NAME;
$person=new person();
echo $person->getUserName();
self与$this的区别
- self代表类,$this代表对象
- self访问类内部的常量和静态属性和静态方法,$this访问对象的属性和普通方法
- self必须配合范围解析操作符(::)才能生效,$this代表对象,对象本来就是一种数据类型,所以$this可以单独被打印。
- 能用$this的地方,一定可以使用self,但是能使用self的地方不一定可以使用$this
- 非静态的属性和方法均用对象($this)访问,静态的方法和属性或常量均用类(self)来访问