php面向对象中抽象类与接口的使用:
2014-04-24 12:38
585 查看
接口and抽象类
代码示例:
总结:
1) 抽象方法 abstract function FUNC_NAME();
2) 接口的方法不允许用修饰词(系统指定死为 abstract public) 属性必须用const
实现 抽象类/接口 部分方法的class是抽象class
理解:
抽象类 定义好的封装类 给用户一些可扩展的自由,用户自由实现自己的方法
接口 严格的结构限制
代码示例:
// 接口 /* 接口方法不能用 public private protected static abstract final 等修饰词修饰 系统会将方法指定死为 public abstract 成员属性只能是静态常量 const 接口可以多继承 implements N */ interface Obj { // static $name = 'fantasy'; //Interfaces may not include member variables const Name = 'fantasy'; function get(); function set(); function del(); } abstract class R implements Obj { // 实现接口的部分抽象方法 此类变成了抽象类 function get(){} } class Router extends R { // 实现剩余的抽象方法 function set(){} function del(){} } // 抽象类 /* 抽象类(abstract class class_name)里面至少有一个抽象方法(abstract function func_name(); 没有abstract修饰的方法 function func_name(); 会报错 说方法没有结构体) 全是抽象方法也可以 抽象类里面允许有(各种权限的)属性 抽象类单继承 extends 1 */ abstract class Base { public $name='base'; protected $age=12; private $sex = '男'; abstract function foo(); abstract function exp(); function index() { echo 'this is a abstract class<br>'; } } abstract class Ext extends Base { public function foo() { echo '实现抽象类的foo方法,不然new不了'; } /*public function exp() { echo '实现抽象类的exp方法,不然new不了'; }*/ } class App extends Ext { public function exp() { echo '实现抽象类的exp方法,不然new不了'; } }
总结:
1) 抽象方法 abstract function FUNC_NAME();
2) 接口的方法不允许用修饰词(系统指定死为 abstract public) 属性必须用const
定义 | 继承 | 方法 | 属性 | |
抽象类 | abstract class CLASS_NAME | extends 1 | 至少一个抽象方法 | 属性可以是各种权限 |
接口 | interface IF_NAME | implements N | 全部抽象方法,不允许修饰词 | 属性只能是静态常量 const |
理解:
抽象类 定义好的封装类 给用户一些可扩展的自由,用户自由实现自己的方法
接口 严格的结构限制
相关文章推荐
- PHP面向对象程序设计之抽象类和接口
- php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。
- PHP面向对象学习之三:抽象类和接口类的实际作用
- 面向对象高级——instanceof关键字的使用以及抽象类与接口的应用
- PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
- PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
- php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。
- php面向对象笔记8 抽象类与延迟绑定复习和接口
- 2.0 面向对象 类与实例(关键字)、封装、继承、多态(虚方法,抽象类,抽象方法,接口)
- 黑马程序员_面向对象二(继承,多态,抽象类abstract,接口Interface,内部类)
- php面向对象全攻略 (十) final static const关键字的使用
- 3.java面向对象语法学习(部分2-抽象类,接口,内部类)
- php学习笔记 面向对象中[接口]与[多态性]的应用
- java面向对象二:抽象类、接口
- Java面向对象8——对象转型,动态绑定,抽象类,final关键字及接口
- c#接口和抽象类的区别 ---- 面向对象概念
- PHP 面向对对象基础(接口,类)
- php接口和抽象类使用示例详解
- php数组 类和对象 接口使用方法(1/3)
- PHP面向对象程序设计之接口用法