类中接口的应用
接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用
 
抽象类:1、类中至少有一个抽象方法。2、方法前需要加abstract
接口: 1、类中全部为抽象方法,抽象方法前不用加abstract.  2、接口抽象方法属性为public   3、成员属性必须为常量。
 
相同点:本身都不能被实例化,只能被继承或引用。继承或引用后,需要把所有抽象方法重载后方可使用。
继承(extends)只能是单一性,而接口可以使用implements进行引用。多个引用用逗号分开。
设已有接口 demo , demo2 , demo3
1、普通类引用接口例子:
   class mypc implements demo , demo2 , demo3{
       ……
    }
2、抽象类引用接口例子:
 
   abstract class mypc implements demo , demo2 , demo3{
      ……
    }
3、继承父类并且引用接口例子:
 
  class mypc extends root implements demo , demo2 , demo3{
       ……
    }

继承接口,继承接口
4、接口与接口继承:
 
   interface demo3 extends demo{
      ……
    }

<?php
interface demo{
const NAME="行色匆匆";
function fun1();
function fun2();
}
interface demo2{
function fun3();
function fun4();
}
interface demo3{
const PLAY ="播放";
function fun5();
}
class mypc implements demo,demo2{
function fun1(){
echo "fun1 cotent<br/>";
}
function fun2(){
echo "fun2 cotent<br/>";
}
function fun3(){
echo "fun3 cotent<br/>";
}
function fun4(){
echo "fun4 cotent<br/>";
}//重载所引用接口的所有方法
}
//单继承多接口,先继承后引用
class PC extends mypc implements demo3{
function fun5(){
echo "fun5的内容<br/>";
}
}
$p=new mypc;
$p2=new PC;
$p->fun1();$p->fun3();
echo "<br/>".mypc::NAME;
echo "<br/>".PC::PLAY;
?>

PHP面向对象学习五 类中接口的应用的更多相关文章

  1. python中的面向对象学习以及类的封装(这篇文章初学者一定要好好看)

    这篇文章对于初学者可以很有效的理解面对过程.面对对象 一.首先介绍一下面向过程和面向对象的比较: 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何 ...

  2. Scala学习(五)---Scala中的类

    Scala中的类 摘要: 在本篇中,你将会学习如何用Scala实现类.如果你了解Java或C++中的类,你不会觉得这有多难,并且你会很享受Scala更加精简的表示法带来的便利.本篇的要点包括: 1. ...

  3. python中的面向对象学习以及类的继承和继承顺序

    继承 首先编写一串关于类的代码行: __author__ = "Yanfeixu" # class People: 经典类不用加(object) class People(obje ...

  4. PHP面向对象学习-属性 类常量 类的自动加载 构造函数和析构函数 访问控制(可见性)

    在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性.静态属性则是用 ::(双冒号):self::$ ...

  5. Scala学习五——类

    一.本章要点 类中的字段自动带有getter方法和setter方法 你可以用定制的getter/setter方法替换掉字段的定义,而不必修改使用类的客户端——这就是所谓的”统一访问原则“ 用@Bean ...

  6. PHP面向对象学习四 类的关键字

    1.关键字:final 用来定义类和方法的一个重要关键字,当定义类的时候该类将不能被继承, 当用来定义方法的时候该方法将不能被重载 2.关键字:static 用来定义类的静态属性或方法,可以在类未被实 ...

  7. PHP面向对象学习三 类的抽象方法和类

    一个类中至少有一个方法是抽象的,我们称之为抽象类. 所以如果定义抽象类首先定义抽象方法. 1.类中至少有一个抽象方法 2.抽象方法不允许有{ } 3.抽象方法前面必须要加abstract 抽象类的几个 ...

  8. Spring MVC学习------------核心类与接口

    核心类与接口: 先来了解一下,几个重要的接口与类. 如今不知道他们是干什么的没关系,先混个脸熟,为以后认识他们打个基础. DispatcherServlet   -- 前置控制器 HandlerMap ...

  9. C++学习 之 类中的特殊函数和this指针(笔记)

    1.构造函数 构造函数是一种特殊的函数,它在对象被创建时被调用,与类同名无返回类型,可以被重载.构造函数的可以在类内实现也可以在类外实现. 构造函数的声明类似于下面的代码: class Human { ...

随机推荐

  1. struts标签<logic:iterate>的用法

    <logic:iterate>主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 具体用法请参考s ...

  2. 百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET 2015-01-12 11:18 346人阅读 评论(0) 收藏

    在百度编辑器示例代码基础上进行了修改,封装成类库,只需简单配置即可使用. 完整demo下载 版权声明:本文为博主原创文章,未经博主允许不得转载.

  3. jQuery实现无限加载瀑布流特效

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. bzoj 1415 期望+记忆化搜索 ****

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdkAAAIfCAIAAACzfDFhAAAgAElEQVR4nOy9bVwTW57vm5fnhed+Pn

  5. Objective-C编码规范:26个方面解决iOS开发问题(转)

    链接

  6. 【criteria CascadeType】级联的不同情况

    使用criteria进行增删改查操作,可能会发生级联删除的情况,例如对员工表进行删除,可能会级联删除掉部门表中的某一条信息[类似这样的情况] 对此,我们可以在实体类中对级联的关系进行管理: 对于cri ...

  7. loadrunner通过C语言实现字符的替换(只能替换单个字符,慎用)

    如果按照普通的定义字符串就会出现以下错误: 解决方法如下: 将双引号改成单引号: lr_searchReplace(abc,"test",' ','+'); Action也可以这些 ...

  8. hdu 5446 Unknown Treasure Lucas定理+中国剩余定理

    Unknown Treasure Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  9. .net发邮件【转】

    对于.NET而言,从2.0开始,发邮件已经是一件非常easy 的事了.下面我给出一个用C#群发邮件的实例,做了比较详细的注解,希望对有需要的朋友有所help. // 引入命名空间using Syste ...

  10. asp.net正则表达式提取网页网址、标题、图片实例以及过滤所有HTML标签实例

    无论你用什么语言,正则表达式的处理方法都是非常灵活.高效的,尤其是对某些字符串的抓取.过滤方面,更显其优势. 正则表达式的写法通常比较简单,几行短代码便能轻松完成看似很复杂的事情,更值得称赞的是,它的 ...