您好,欢迎访问一九零五行业门户网

Php面向对象 ? Final类

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);
其它类似信息

推荐信息