<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="PHP的OPP机制 和 抽象类、接口和契约式编程等模式简介及示例代码" id="card1">
<p> 游客</p><p>
标题:PHP的OPP机制 和 抽象类、接口和契约式编程等模式简介及示例代码<br/>
正文:<br/>
1.抽象类抽象类机制中总是要定义一个公共的基类，而将特定的细节留给继承者来实现。通过抽象概念，可以在开发项目中创建扩展性很好的架构。任何一个类，如果它里面至少有一个方法是被声明为抽象的，那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式（参数），不能定义其具体的功能实现。在类的声明中使用 abstract 修饰符就可以将某个类声明为抽象的。@camnpr1.1方法原型（prototype）是指方法的定义中剔除了方法体之后的签名。它包括存取级别、函数关键字、函数名称和参数。他不包含（{}）或者括号内部的任何代码。例如下面的代码就是一个方法原型：代码如下:public function prototypeName($protoParam) // @camnpr继承一个抽象类的时候，子类必须定义父类中的所有抽象方法；另外，这些方法的访问控制必须和父类中一样（或者更为宽松）。1.2关于抽象类    某个类只要包含至少一个抽象方法就必须声明为抽象类<br/>    声明为抽象的方法，在实现的时候必须包含相同的或者更低的访问级别。<br/>    不能使用 new 关键字创建抽象类的实例。<br/>    被生命为抽象的方法不能包含函数体。<br/>    如果将扩展的类也声明为抽象类，在扩展抽象类时，可以不用实现所有的抽象方法。（如果某个类从抽象类继承，当它没有实现基类中所声明的所有抽象方法时，它就必须也被声明为抽象的。）1.3使用抽象类代码如下:&amp;lt;?php<br/>abstract class Car<br/>{    <br/>    abstract function getMaxSpeend();<br/>}<br/>class Roadster extends Car<br/>{<br/>    public $Speend;<br/>    public function SetSpeend($speend = 0)<br/>    {<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1666&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1666&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1666&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1666&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1666&amp;Page=8">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1666">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1666">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>