zoukankan      html  css  js  c++  java
  • 【代码总结】PHP面向对象之接口与多态性应用

    概述:

    PHP之支持单继承,也就是说每个类智能继承一个父类。当声明的新类继承抽象类实现模板以后就不能再有其他问题,为了解决这个问题,PHP引用了接口

    ---------------------------------------------------------------------------------------------------------------------------------------------

    一、声明接口

    1、接口中的方法,必须全是抽象方法(不能用不抽象的方法)

    2、只能用const关键字声明为常量的成员属性

    3、所有的权限必须是公有的(public)

    4、声明接口不使用class,而是使用interface

    <?php 
        interface One{   //声明一个接口使用interface关键字,One为接口名称
            const CONSTANT = 'CONSTANT value';   //在接口中声明一个常量成员属性,和在类中声明一样
            function fun1();   //在接口中声明一个抽象方法fun1()
            function fun2();   //在接口中声明一个抽象方法fun2()
        }
    ?>

    二、接口间的继承

    1、extends关键字继承(接口和接口-无覆盖)

      可以使用extends让一个接口去继承另一个接口,实现接口之间的扩展

    <?php 
        interface One{   //声明一个接口使用interface关键字,One为接口名称
            const CONSTANT = 'CONSTANT value';   //在接口中声明一个常量成员属性,和在类中声明一样
            function fun1();   //在接口中声明一个抽象方法fun1()
            function fun2();   //在接口中声明一个抽象方法fun2()
        }
        //使用一个接口Two对接口One进行扩展
        interface two extends One{
            function fun3();    //在接口声一个抽象方法fun3()
        }
    ?>

    2、使用一个类来实现接口(类和接口,抽象类和接口-有覆盖)

      类实现接口必须有子类把它所以的抽象方法全部实现才可以

      不要使用extends这个关键字,使用implements 相当于 extends  extends 继承(扩展),在这个PHP中,一个类只能有一个父类

    <?php 
        interface One{   //声明一个接口使用interface关键字,One为接口名称
            const CONSTANT = 'CONSTANT value';   //在接口中声明一个常量成员属性,和在类中声明一样
            function fun1();   //在接口中声明一个抽象方法fun1()
            function fun2();   //在接口中声明一个抽象方法fun2()
        }
        //声明一个抽象类去实现接口One中的第二个方法
        abstract class Three implements One{   //只实现接口中的一个抽象方法
            function fun2(){
                //具体的实现内容由子类决定
            }
        }
        //声明一个类实现接口One中的全部抽象方法
        class Four implements one{
            //必须把One中的方法全部实现
            function fun1(){   //实现接口中的第一个方法
                //具体的实现内容由子类决定
            }
            function fun2(){   //实现接口中的第二个方法
                //具体的实现内容由子类决定
            }
        }
    ?>

    三、多接口的继承

     实现方式: class 类名 implements 接口名,接口名2{ 实现体。。 }

    四、多态性的应用

        *多态(使用方式):对于同一个方法,传入不同对象,实现了不同的效果,这个就是多态的意思,
          需要使用的技术:继承或实现,方法的覆盖(重写)。
        实例:
        主板:mainboard   PCI插槽(规范接口) 


        第三方生产
        声卡: soundCard
        网卡: networkCard
        
        设计模式:单例、单态设计模式

        http://localhost/.../index.php?m=类名&a=方法名&其他参数

        http://localhost/.../user/add.html

        http://news.sohu.com/web/123456.html

        http://news.sohu.com//find?id=123456

  • 相关阅读:
    UVA
    UVA
    UVA
    UVA
    NLP介绍
    新建Springboot项目
    添加ssh密钥
    git 错误合集
    Git入门操作
    Hadoop MapReduce
  • 原文地址:https://www.cnblogs.com/sqyysec/p/6843655.html
Copyright © 2011-2022 走看看