太原做网站

网站维护托管

PHP面向对象中的final和const的用法

一、final指定某个类不允许被继承或者是某个方法不允许被修改:


1、类A不允许类B继承:


final class A{

private $name;

private $age;

private $height;

function __construct($a,$b,$c){

$this->name = $a;

$this->age = $b;

$this->height = $c;

}

final function show(){

return $this->height;

}

}

class B extends A{

}//报错: Class B may not inherit from final class (A)*/

2、类A中的方法show不允许被重写或修改:


class A{

private $name;

private $age;

private $height;

function __construct($a,$b,$c){

$this->name = $a;

$this->age = $b;

$this->height = $c;

}

final function show(){

return $this->height;

}

}

$a = new A('zym','23岁','180cm');

echo $a->show();

class B extends A{

function show(){

return $this->name;

}

}

$b = new B('zyy','24','172cm');

$b->show();//报错: Cannot override final method A::show()

二、const指定类常量,仅限这个类进行调用,类的实例对象也不能调用:


class A{

private $name;

private $sex;

const work = 'web前端开发';

function __construct($a,$b){

$this->name = $a;

$this->sex = $b;

}

public function show(){

return $this->name.'的工作是'.self::work;

}

}

$a = new A('zym','男');

echo $a->show();//zym的工作是web前端开发


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2020年10月   »
1234
567891011
12131415161718
19202122232425
262728293031
网站分类
搜索
最新留言
    文章归档
    友情链接