定义
- static: 定义类属性和类方法(静态属性和静态方法)
- final: 定义不可被子类继承的类和方法
- const:定义类常量
访问
- parent:类内访问父类属性和父类方法
- self: 类内访问类属性和类方法
- $this: 类内访问实例属性和实例方法
示例
// 父类
class Base{
// 实例属性
private $age;
public function __construct($age) {
$this->age = $age;
}
// 不可以被子类继承该方法
public final function getAge()
{
return $this->age;
}
}
// 子类
class Demo extends Base{
// 实例属性
private $name;
// 类属性
public static $count;
// 类常量,注意没有$
public const TYPE = 1;
public function __construct($age, $name) {
// 调用父类构造方法
parent::__construct($age);
$this->name = $name;
}
// 类方法
public static function getCount()
{
// 访问类属性
return self::$count;
}
// 类方法
public static function getType()
{
// 访问类常量
return self::TYPE;
}
// 实例方法
public function getName()
{
self::$count+=1;
return $this->name;
}
}
$demo = new Demo(12, 'Tom');
echo $demo->getAge() . PHP_EOL;
echo $demo->getName() . PHP_EOL;
echo Demo::getCount() . PHP_EOL;
echo Demo::getType() . PHP_EOL;
参考
php类中的$this,static,final,const,self这几个关键字使用方法