概述:

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

【代码总结】PHP面向对象之接口与多态性应用的更多相关文章

  1. JavaSE入门学习21:Java面向对象之接口(interface)(二)

    一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.j ...

  2. oop面向对象【接口、多态】

    今日内容 1.接口 2.三大特征——多态 3.引用类型转换 教学目标 1.写出定义接口的格式 2.写出实现接口的格式 3.说出接口中成员的特点 4.能够说出使用多态的前提条件 5.理解多态的向上转型 ...

  3. java——接口、多态性、对象转型

    接口定义:  默认方法: 默认方法的作用: 如果在你的接口已经投入使用了,这个时候你想要在接口里面加一个方法,这个时候如果你加一个抽象方法的话,所有实现类都要改变源代码(因为实现类要把接口中的所有抽象 ...

  4. Java面向对象:接口

    Java面向对象之接口 什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... ...

  5. php面向对象的接口和APP接口区别

    以下是php面向对象的接口:

  6. Python面向对象之接口类(抽象类)

    Python面向对象之接口类(抽象类):就是制定一个规范. 比如定义了一个接口类(抽象类)(他们是不可以进行实例化的,这就是他为什么是制定一个规范的原因). 他的定义是需要abc模块,要变的就是他的方 ...

  7. -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal

    java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型  也就是 ...

  8. JAVASE(十)面向对象:特性之多态性、Object类、代码块、关键字:static、final、父子类执行顺序

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.面向对象的特性之:多态性 多态性的理解:事物的多种形态 1.1 广义上多态性的体现:①方法的重写,重 ...

  9. Java学习笔记(六):面向对象、接口和抽象类

    类和对象 Java是一门面向对象的语言,下面我们来了解一下Java中的面向对象. 方法和重载 Java中的方法格式如下: 访问修饰符 返回值类型 方法名(参数){ 方法主体 } Java的方法支持重载 ...

随机推荐

  1. 屏蔽tips

    在屏蔽的地方打上记号,这样解屏蔽时就容易找到屏蔽的地方了

  2. Linux find命令:在目录中查找文件(超详解)

    find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限.大小.时间.inode 号等来搜索文件.但是 find 命令是直接在硬盘中进行搜索的,如果指定的搜索范围过大,f ...

  3. AcWing 154. 滑动窗口

    https://www.acwing.com/problem/content/156/ #include <iostream> using namespace std; ; int a[N ...

  4. kmp算法基础

    https://www.luogu.com.cn/problemnew/solution/P3375 #include<bits/stdc++.h> using namespace std ...

  5. bzoj 4827: [HNOI2017]礼物 (FFT)

    一道FFT 然而据说暴力可以水70分 然而我省选的时候看到了直接吓傻了  连暴力都没打 太弱了啊QAQ emmmm 详细的拆开就看其他题解吧233 最后那一步卷积其实我一直没明白 后来画画图终于懂了 ...

  6. [lua]紫猫lua教程-命令宝典-L1-01-11. lua的个人补充

    1.关于三目运算符的一些补充和纠正 前面没看仔细  a>b ? a: b 这个形式 似乎lua下并不存在...要了命 一般都是使用  a and b or c 的形式 但是这种形式存在一些问题 ...

  7. HTML5学习(3)元素

    HTML5元素周期表 详情见:http://www.xuanfengge.com/funny/html5/element/

  8. Unity Coroutine详解(一)

    Unity 中协程是个非常强大的功能,其作用主要是用于游戏中的延时调用或者执行一连串的有时间间隔的事件流程,例如剧情对话等.简单总结了几点协程相关的知识点,旨在加深记忆,同时为初学者解惑. 1.协程. ...

  9. MFC程序使用控制台打印

    1.在OnCreate窗口创建方法中调用控制台窗口创建方法,创建的窗口是与MFC主窗口共存亡的 参考地址:https://blog.csdn.net/Yong_Qi2015/article/detai ...

  10. IntelliJ IDEA 2017.3尚硅谷-----安装

    选择路径 安装目录 bin目录下的文件 启动文件 虚拟机的配置信息 -Xms128m 初始内存 -Xmx750m 最大内存-XX:ReservedCodeCacheSize=240m 可保留代码缓存的 ...