类中接口的应用
接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用
 
抽象类: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. ytu 1058: 三角形面积(带参的宏 练习)

    1058: 三角形面积 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 190  Solved: 128[Submit][Status][Web Boar ...

  2. jQuery函数attr()和prop()的区别

    在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同. 但不得不说的是,这两个函数的用处却并不相同.下面我们来详细介绍这两个函数之间的区别. ...

  3. Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置

    select size_for_estimate, buffers_for_estimate ,ESTD_PHYSICAL_READ_factor,ESTD_PHYSICAL_READS from v ...

  4. hdu 4411 2012杭州赛区网络赛 最小费用最大流 ***

    题意: 有 n+1 个城市编号 0..n,有 m 条无向边,在 0 城市有个警察总部,最多可以派出 k 个逮捕队伍,在1..n 每个城市有一个犯罪团伙,          每个逮捕队伍在每个城市可以选 ...

  5. SSH Key连接github提示Permission denied (publickey).错误

    root@debian64:/home/xiaoliuzi/.ssh/key_backup# ssh -T git@github.com The authenticity of host 'githu ...

  6. Matlab tips and tricks

    matlab tips and tricks and ... page overview: I created this page as a vectorization helper but it g ...

  7. unfortunately launcher has stopped

    设定虚拟机的配置.

  8. gdb调试小结

    gdb最基本的调试命令. 1以调试程序test.cpp为例: 进入调试环境 gdb test 2.b 12 在文件的第12行设置断点. 删除断点: info b 列出所有的断点信息 (gdb) inf ...

  9. Angular JS 学习之简介

    1.Angular JS是一个JavaScript框架,它是一个以JavaScript编写的库,它可以通过<script>标签添加到HTML页面: <script src=" ...

  10. JavaScript 之 iframe自适应问题---可以用来实现网页局部刷新

    1.HTML <iframe src="index.html" id="iframepage" frameborder="0" scr ...