美文网首页
PHP笔记之继承、重载、关键字

PHP笔记之继承、重载、关键字

作者: 青鸟evergreen | 来源:发表于2017-02-21 16:23 被阅读16次

    继承

    1.子类使用extends继承父类,可以将父类所有内容继承过来
    2.private 只能自己用,子类都无法使用
    3.protected这个是保护的权限,只能是自己和自己的子类使用的成员,外部不可使用
    4.public 公开

    重载

    继承中的重载(覆盖):在子类中可以写和父类同名的方法
    parent::访问父类中被覆盖的方法
    重要:只要是子类的构造方法,去覆盖父类中的构造方法,一定要在子类的最上面调用一下父类被覆盖的方法
    权限问题:子类只能大于或等于父类的权限,不能小于

    class Person {
            var $name;
            var $age;
            var $sex;
            
            function __construct($name,$age,$sex){
                $this -> name  = $name;
                $this -> age = $age;
                $this -> sex = $sex; 
            }
            function say(){
                echo "我的名字是:{$this->name}我的性别是:{$this->sex}";
            }
            function eat(){
            }
            function run(){
            }
        }
        class Student extends Person{
            var $school;
            function__construct($name,$age,$sex,$school){
        parent::__construct($name,$age,$sex,$school);
                $this->school = $school;
            }           
            function study(){
            }
            //重载
            public function say(){
                parent::say();
                echo "我在的学校";
            }
        }
        class Teacher extends Person{
            var $name;
            var $age;
            var $sex;
            var $dw;    
            function teach(){
            }
        }
    

    关键字

    1.instanceof 对象是不是某个类
    2.在PHP中,final不定义常量,所以不能使用final修饰成员属性
    ①final可以修饰类 ---这个类不能去扩展,不能有子类,也就是最终的类
    ②final可以修饰方法---这个方法,就不能在子类中覆盖
    3.static可以修饰属性和方法,不能修饰类,
    ①使用static修饰成员属性,存在内存的初始化静态段。
    ②可以被所有同一个类的对象使用
    ③第一个用到类(类名第一次出现),类在加载到内存时,就已经将静态的成员加到了内存
    ④静态的成员一定要用类来访问

    Person::$country;
    

    ⑤.self可以在类中的方法中,代表自己的类
    ⑥脚本一旦加载,直到脚本释放才结束
    ⑦在静态的方法中,是不能访问非静态的成员的
    ⑧只要是能使用静态的环境下声明方法,就最好使用静态方法效率

    static function say(){
        echo"我的名字是:“self::$name.”<br>";
    }
    

    4.const
    常用define定义常量
    define("常量名","值");
    const 修饰的成员属性为常量,只能修饰成员属性

    类中
    1.常量建议使用大写,不能使用$
    2.常量一定要在声明时就给好初值
    3.常量的访问方式和static的访问方式相同,但只能读
    ①在类外部使用 类名::常量名
    ②在类的外部使用 self::常量名

      class Demo{
            const SEX = "男";
            static function say(){
              echo self::SEX."<br>";
       }
      }
      Demo::say();
    //echo Demo::SEX;
    
    

    相关文章

      网友评论

          本文标题:PHP笔记之继承、重载、关键字

          本文链接:https://www.haomeiwen.com/subject/qftuwttx.html