网站制作学习网PHP→正文:php抽象类
字体:

php抽象类

PHP 2010/7/28 17:13:53  点击:不统计

转载%77%77%77请%2E%66%6F%72%61%73%70%2E%63%6E注明

抽象类(abstract class)机制中总要定义一个公共的基类(base class),而将特定的细节留个继承者实现.如果需要抽象类创建实例,必须创建一个扩展的继承类,通过继承类来创建对象,实现抽象类的方法.
抽象类没有声明继承类的所有方法定义实现的内容.抽象类可以定义缺少方法的原型方法,也可以在定义具有完整实现体的方法.
抽象类规则:
1.某个类只要包含至少一个抽象方法就必须声明为抽象类
2.声明抽象方法,在实现的时候必须有相同的或者更低的访问级别.访问级别public(最低),protected(中间),private(最高)
3.不能用new关键字创建抽象类的实例.
4.如果有抽象类的方法是抽象方法,则该方法不能包含函数体(也没有"{}").
5.如果扩展的类也声明为抽象类时,在扩展抽象类时,就可以不用实现所有的抽象方法.

php抽象类的语法.
类: abstract class classname
方法:abstract function name(){}
举例:
<?php
 abstract class write {
  function writeurl(){//抽象类的非抽象方法可以有方法体
  echo "this url is www.forasp.cn";
  }
  abstract function writewebname();//抽象方法没有函数体,也没有{}
 }
 class writeinfo extends write {//扩展/继承抽象类
   function writewebname(){//重载writewebname()方法3w.foa($)sp.cn
   echo "网站制作学习网";
   }
 }
 $forasp = new writeinfo();//实例化
 $forasp->writeurl();//输出:www.forasp.cn
 $forasp->writewebname();//输出:网站制作学习网
?>
php只支持从一个基类继承,而不支持从两个或者更多的抽象类中继承.如果从两个或者以上的泪中继承的能力为多重继承,php不支持.
php为了实现多重继承,滴定仪了一种类似于类的结构:接口,下篇文章介绍


原载于:本文原载于www.forasp.cn

·上一篇:php类继承 >>    ·下一篇:php接口 >>
推荐文章
最新文章