zoukankan      html  css  js  c++  java
  • PHP面向对象(OOP)----访问限制符

    访问控制修饰符指public、protected、private三个关键词来修饰类的成员属性和成员方法,可以有不同的权限

    public:[共有的]类里面调用和类外面调用都是可以的

    protected:[受保护的]类里面可以被调用,类外面不可以。

    private:[私有的]类里面可以被调用,类外面不可以。

    类的继承

    继承就是对已有的类进行一个复用的使用。

    继承之后可以自动拥有被继承的类的成员属性和成员方法

    我们通常把被继承的类叫做父类(也叫做基类),继承别人的类叫做子类也叫做派生类

    父类拥有的修饰符被继承的时候会有区别

    一个父类可以被多个子类来继承

    子类还可以继续被继承

    继承具有传递性

    语法

    通过extends关键词来实现

    访问修饰符在继承里面的权限问题

    类内部 类外部 继承里面
    public 1 1 1
    protected 1 0 1
    private 1 0 0

    继承遇到访问修饰符的权限问题

    3 public

    2 protected

    1 private

    当父类是public的时候,子类只能是public

    当父类是protected的时候,子类可以是public、protected

    当父类是private的时候,子类可以是public、protected、private

    注意注意注意

    所有的魔术方法都会被继承

    所有的魔术方法都可以被重载

    parent关键词

    可以在子类中调用父类的构造方法

    parent::__construct();
    

    在子类中调用父类的方法

    parent::say();
    

    在子类调用父类的析构方法

    parent::destruct();
    

    final关键词

    所有定义了final关键词的类都不能被继承

    final class jilei
      {
    
      }
    

    静态成员方法

    可以不实例化类直接使用类名::方法名调用,用起来比较方便

    如下使用

    class Wan
    {
      public static $time = '1天';
      public static function xxx()
      {
        //在类的内部调用静态成员属性使用[类名::属性]或者[self::属性],推荐在类的内部使用self
        echo '在内部调用静态属性'.self::$time.'的方法,或者使用'.Wan::$time;
        echo '这个是一个静态方法';
    
        //在类的内部调用静态的成员方法同属性
        self::yuKuai();
      }
      public static function yuKuai()
        {
          ehco '来来来,一起来玩吧';
        }
    }
    //在类的外面调用静态的成员方法
    Wan::xxx();
    //在类的外面调用静态的成员属性,一定要加$符号
    Wan::$time;
    
  • 相关阅读:
    UE4物理笔记
    lambda+mutable配合move实现单函数多程序域
    UE导航系统详
    cpp智能指针
    [转载]新手应该如何学习网站分析
    webpack 单独打包指定JS文件
    vue-cli axios ie9 问题
    [分享] 通过修改CSS自定义chrome滚动条样式
    日期格式化转换方法
    vue 路劲
  • 原文地址:https://www.cnblogs.com/zhyunfe/p/6403141.html
Copyright © 2011-2022 走看看