• PHP基础OOP(二) 多态


    PHP 基础  多态 
    ====================
    多态是一种思想:从一个基类中派生,响应一个虚命令,产生不同的结果。
                    不同的对象执行相同的方法而产生不同的行为和结果
    例如:很多植物都有开花和结果的特点,但是不同的植物开的花和结的果都不相同

    实现多态的好处:
        把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,
        写出通用的代码,做出通用的编程,以适应需求的不断变化。

    多态的设计原则:
            依赖于抽象,而不依赖于具体,增加灵活性和扩展性。
            对外开放,对内封闭

    实现多态的方式:
        方法的重写与重载、抽象类、接口、继承、虚方法


    抽象类:abstract 修饰
        1.抽象类不能被实例化
        2.一个方法如果是抽象方法,那么所在的类必须是抽象类
        3.抽象方法:abstract修饰,没有实现,即没有方法体
        4.非抽象类继承抽象类必须实现抽象类的所有抽象方法
        5.抽象类与普通类之间是继承 extends

    接口:interface 修饰
        1.类实现接口使用 implements
        2.接口类使用interface修饰,接口中只的方法无方法体
        3.体现了高内聚,低耦合的思想
        4.接口只能被继承,不能实例化,接口与接口之间可以继承extends
        5.接口中的方法必须是公有的public,默认为public


    接口与抽象类的区别:
        1.抽象类中可以有已经实现的方法,但接口中只能有未实现的方法
        2.类可以多继承接口,但只能继承一个抽象类,对抽象类不能多继承
    接口与继承的比较:
        1.接口的多继承是对普通类的单继承的一种补充
        2.可以在不破坏类层级的前提下,对某个类的功能进行扩展

    final:PHP5.0以后新增(只能修饰类与方法)
        1.final修饰的类相当于C#中的密封类,此类不能被继承
        2.final修饰的方法不能被子类重写

    const:常量
        1.不能被修改的变量,在内存中存储在专有的常量区
        2.可以定义在类或接口中,定义时,必须赋值
        3.常量名一般为大写,无修饰符,默认public,访问时使用:类名或接口名::常量名
        4.常量属于类,不属于对象,可以被子类继承

    Code

     

  • 相关阅读:
    赫夫曼树编码
    根据先序和中序实现后序
    C++语言实现开心消消乐
    C语言风格实现的开心消消乐
    动态规划
    leetcode dp wordbreakII
    欧拉回路
    欧拉通路是否存在
    Python|多任务:线程、进程、协程--你想要的都在这里
    网络通信:socket、udp与tcp
  • 原文地址:https://www.cnblogs.com/lt-style/p/3501052.html
Copyright © 2020-2023  润新知