zoukankan      html  css  js  c++  java
  • PHP面向对象之重写

    覆盖(override):

    基本概念

    覆盖,又叫“重写”:

    含义:

    将一个类从父类中继承过来的属性和方法“重新定义”——此时相当于子类不想用父类的该属性或方法,而是想要定义。

    覆盖的现实需要:

    对于一个父类,或许其属性的现有数据(值),子类觉得不合适,而需要有自己的新的描述;

    或许其方法,子类觉得也不合适,需要自己来重新定义该方法中要做到事。

    此时就可以使用覆盖。

     

    重写的基本要求:

    访问控制权限:

    子类覆盖的属性或方法的访问控制权限,不能“低于”父类的被覆盖的属性或方法的访问控制权限:

    具体来说:(就是范围大于或等于父类,但private除外)

    父类: public 子类:只能是public

    父类: protected 子类:可以说protectedpublic

    父类: private 子类:不能覆盖!——既父类的私有成员,不存在被子类覆盖的可能。

    方法的参数形式:

    子类覆盖父类的同名方法的时候,参数要求跟父类保持一致;

    特例:

    构造方法重写的时候参数可以不一致

    小注意:

    虽然父类的私有属性不能被覆盖,但子类却可以定义自己的跟父类同名的属性;

    虽然父类的私有方法不能被覆盖,但子类也不能定义自己的同名方法;

  • 相关阅读:
    查看pip install *.whl 支持的文件版本
    spark Infinate 的处理
    nc 文件的nan识别
    mysql 存中文失败问题
    tensorflow 安装
    数据库存含中文的json 时避免存成中文的ascii
    python 继承中的__init__
    python mysql数据库中 json的存储
    python 版本配置问题
    python dict 实现swich
  • 原文地址:https://www.cnblogs.com/457248499-qq-com/p/7383947.html
Copyright © 2011-2022 走看看