php的final修饰类,Php面向对象?Final类

本文介绍了PHP中final关键字的使用,包括如何用它来防止类被继承和方法被重写。final类不可被继承,确保了代码的封闭性。同时,final关键字也可应用于方法,确保在继承链中该方法的实现不会被子类改变。文中通过实例展示了final的用法,并创建了一个final类GoodsBook作为 Goods 类的不可扩展子类。此外,还展示了如何使用final修饰方法以保护特定方法不被重写。
摘要由CSDN通过智能技术生成

Php面向对象 ? Final类

该类,只能被实例化对象不能用于被继承。

设计时,该类不能再扩展了,就应该通过语法final限制,其他用户扩展该类。

定义:

在class前,增加final关键字。

例子:

class Goods

{

public $goods_name;

public $shop_price;

public function __construct($name,$price)

{

$this->goods_name= $name;

$this->shop_price= $price;

}

}

final class GoodsBook extends Goods

{

public $pages;

public function __construct($name,$price,$pages)

{

parent::__construct($name,$price);

$this->pages= $pages;

}

}

$book1 = new GoodsBook(‘php’,234,56,45);

Final 关键字的另一个用法,用于限制方法:

限制该方法,在所属类被继承时,该方法不能被重写。

例子:

class Goods

{

public $goods_name;

public $shop_price;

public function __construct($name,$price)

{

$this->goods_name= $name;

$this->shop_price= $price;

}

public function sayName()

{

echo $this->goods_name;

}

//所有商品输出价格的方式应该一致

final public function sayPrice() // 继承该类,该方法不能被重写

{

echo ‘¥’,$this->shop_price;

}

}

final class GoodsBook extends Goods

{

public $pages;

public function __construct($name,$price,$pages)

{

parent::__construct($name,$price);

$this->pages= $pages;

}

public function sayName()

{

echo“《 $this->goods_name 》”;

}

}

$book1 = new GoodsBook(‘php’,234,56,45);

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值