zoukankan      html  css  js  c++  java
  • PHP 类的继承 访问修饰符 重写

    类的继承:

      某些类A具有的某些特性,另一个类B,也具有A类的所有特性并且也有自己的特性,此时我们就可以实现B类使用A类的特性信息并继续添加自己的一些特有的特征信息
      关键字是:extends
    基本概念:
       继承:一个类从另一个已有的类获得其特性,称为继承
       派生:从一个已有的类产生一个新的类,称为派生
       也可以理解为:已有类为父类,新建类为子类,父类也叫基类,子类也叫派生类
       一个类只能从一个上一级类继承其特性 叫单继承
       多继承的话 就是继承他父类的父类 也就是爷爷类
    访问(权限)修饰符
       public:公共的  protected:受保护的  private:私有的
       1.public:
          用该修饰符 可以在任意位置使用其中包括:
           1.某个类的内部
           2.某个类的外部
           3.某个类的具有具有继承关系的类的内部
         语法形式:
           对象->成员 一般
           类名::成员 静态
       2.protected:
          用该修饰符,可以在当前类或者当前类的上下级具有继承关系的类中访问
       3.private:
          用该修饰符,只能在其所在的类中访问
    parent代表父类:
       通常用于在子类中调用父类的成员的时候使用 没有继承关系不能用parent
    构造方法析构方法:
       子类中没有定义构造方法的时候,会自动调用父类的构造方法。因此实例化子类时,需按照父类的构造方法的形式进行
       子类定义了自己的构造方法,则不会调用父类的构造方法 但可以手动调用 parent::__construct();
       通常在子类很多时候在构造方法中都应该(需要)去调用父类的构造方法以节省代码,增加可读性
    重写 override:
       重写又叫覆盖,就是将从父类继承下来的属性或方法重新定义--- 就是从新写  
       重写必须发生在继承里面
       注意:子类覆盖父类的方法,虽然可以去调用父类的同名方法去完成一定的工作。但不是必须的。也有可能父类的该方法所执行的结果并不适合子类,此时子类就去完全自己写了
       重写的基本要求:
          下级的访问控制权限应该不低于上级的访问控制权限
          上级:public(公共的) 下级只能是 public
          上级:protected(受保护的) 下级只能是 protected , public
          上级:private(私有的) 下级:private protected public  --- 实际此情况无意义 私有的不能覆盖,而是完全当做自己全新的
    最终类final class :
       如果某个类不希望对其进行扩展,则可以将其声明为“最终类”
       形式:
             final  class  类名{ 。。。。类定义。。。。}
    最终方法 final method:
       如果某个方法不希望被下级类覆盖,就可以对其生命为“最终方法”
       形式:
             final  function  方法名(){。。。。方法定义。。。。}

  • 相关阅读:
    又是一个递归的题
    全文检索引擎记录
    处理“System.Web.HttpException: 超过了最大请求长度”
    完整国内城市js级联选择
    多服务器共享session的解决方案之一
    递归求n的阶乘
    面试遇到了 <计算从1到N中1的出现次数>结果悲剧了.
    DropDownList绑定Xml数据的实现
    简单图片上传示例
    C#默认访问修饰符
  • 原文地址:https://www.cnblogs.com/xzz123-/p/9142547.html
Copyright © 2011-2022 走看看