设为首页 加入收藏

TOP

PHP契约式编程
2014-11-23 23:19:42 来源: 作者: 【 】 浏览:8
Tags:PHP 契约 编程

先复习一下面向对象编程中的两个重要元素:抽象类和接口


抽象类


当类中有一个方法为抽象方法,该类就应该定义为抽象类


继承一个抽象类,应该实现其所有抽象方法


推荐阅读:


例:


< php
abstract class car{
protected $name;
protected $speed;

public function __construct($name, $speed){
$this->name=$name;
$this->speed=$speed;
}

abstract function run();

public function __get($k){
if(in_array($k, array('name'))){
//如果访问的属性是不允许的,抛出error级别错误
trigger_error ( "禁止访问私有成员 : ".$k , E_USER_ERROR ) ;
return ;
}

return $this->$k;
}
}


接口

接口定义了一系列必要的操作,实现接口的类必须实现接口的方法

例:


people.interface.php
< php
interface people{

//定义say方法,时所有派生类必须实现
public function say();

}



work.class.php
< php
include 'people.interface.php';
class worker implements people{


private $name;
private $age;

public function __construct($name, $age){
$this->name=$name;
$this->age=$age;
}

//实现接口定义方法
public function say(){
echo $this->name.', age is '.$age.'
';
}

public function __get($k){
if($k=='name'){
//如果访问的属性是不允许的,抛出error级别错误
trigger_error ( "禁止访问私有成员 : ".$k , E_USER_ERROR ) ;
return;
}
return $this->$k;
}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Fedora下libxml2的使用 下一篇Linux下ethtool工具的编译和使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: