PHP final关系字
Final关键字
作用:
1、如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。
2、属性不能被定义为 final,只有类和方法才能被定义为 final。
3、用法:直接在类或者方法前加final关键字。
含义:
1、解决代码重复,把重复的代码写在一个文件夹中,让其他PHP文件调用自动加载。
2、解决PHP文件过多 include等引入PHP过于庞大造成负担。
<?php //final class dog{//如果在类前面加final,它就不会被子类所继承 class dog{ // var $name; //private:私有的 把var 改成private // private $name; 外部(类之外)是调用不出来访问不了的(包括子类也是访问不了) // protected $name; //也是(类之外)外部是调用不出来访问不了的(这个子类可以访问) //public $name; //public 公开的 这个是可以访问 var $name; //如果var声明,默认的是public // php 将所有以__(两个下划线)开头的类方法保留为魔术方法。 // 所以在定义类方法时,除了魔术方法,建议不要以__为前缀 // construct 构成;建造 构造函数声明必须是__construct() function __construct(){//这里报错原因 construct($n)里面的$n,当我们调用子类里面的构造函数的时候 //其实它是调用一个不带参数的构造器,双会调用副类里面不带参里的构造器,这个时候呢,副类里面我们构造函数里定义了 //构造器,这个构造器里面呢又有一个参数,所以这里面就有会问题。 //为了证明它是调用到构造器的,我们打一行文字来看一下 echo "调用到这里了,看一下"; // $this->name = $n; } function bark(){ echo $this->name."wang"; } } //habadog继承dog 右以用关键字extends来声明继承关系 class habadog extends dog{ //继承类dog的属性和方法过来 } $haba = new habadog(); $haba ->name="哈巴狗"; echo $haba->bark(); //输出结果 哈巴狗wang //$mydog = new dog("zhangsan"); //$mydog->name = "facai"; //$mydog->bark(); ?>
原文链接:https://www.qiquanji.com/post/7438.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。