PHP抽象类 介绍

 更新时间:2012年06月13日 14:29:18   作者:  
对于PHP程序员来说,最为难掌握的一点要数PHP抽象类应用这一块知识点。作为一个新手其实也还没有到要用面向对象的知识去编程,但以后进行开发,使用类进行封装或者使用接口之类,把程序进行各种模块式的开发,这当然是必然的
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

在自然语言中,我们理解抽象的概念是,一个物体的一种大的描述,这种描述对某类物体来说是共有的特性。那么在PHP中也是一样的,我们把一个类进行抽象,可以指明类的一般行为,这个类应该是一个模板,它指示它的子方法必须要实现的一些行为。
PHP抽象类应用的定义:
abstract class ClassName{
}

PHP抽象类应用要点:
  1.定义一些方法,子类必须完全实现这个抽象中所有的方法
  2.不能从抽象类创建对象,它的意义在于被扩展
  3.抽象类通常具有抽象方法,方法中没有大括号

PHP抽象类应用重点:
  1.抽象方法不必实现具体的功能,由子类来完成
  2.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义
  3.抽象类的方法可以有参数,也可以为空
  4.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数

PHP抽象类应用示例:
abstract public function_name(); //注意没有大括号
PHP抽象类规则:
某个类只要至少含有一个抽象方法,就必须声明为抽象类
抽象方法,不能够含有函数体
继承抽象类的子类,实现抽象方法的,必须跟该抽象方法具有相同或者更低的访问级别
继承抽象类的子类,如果不实现所有抽象方法,那么该子类也为抽象类
作为演示,我们来实现一个简单的抽象类:计算矩形的面积。这个矩形可以从形状类扩展。
复制代码 代码如下:

< ?PHP
abstract class Shape {
abstract protected function get_area();
//和一般的方法不同的是,这个方法没有大括号
//你不能创建这个抽象类的实例:$Shape_Rect= new Shape();
}
class Rectangle extends Shape{
private $width;
private $height;
function __construct($width=0,
$height=0){
  $this->width=$width;
  $this->height=$height;
}
function get_area(){
  echo ($this->width+$this->height)*2;
}
}
$Shape_Rect = new Rectangle(20,30);
$Shape_Rect->get_area();
?>

这也算是一个简单的例子,基本上可以说明PHP中抽象类的用法了,其他的不想多说了。个人觉得抽象类一般在大的项目才会用吧,因为我觉得它实在是要遵守的”规矩”太多了,用起来不方便!当然这只是我的意见。还想多说一些,PHP抽象类应用是单继承的,也就是说你只能从一个类继承,而不能一个类继承了A类,又继承B类,如果要实现这样的功能,得使用接口相关的知识了,在此暂时不讨论PHP接口的知识!一句话:单继承多接口中!

相关文章

  • [PHP]实用函数8

    [PHP]实用函数8

    [PHP]实用函数8...
    2007-11-11
  • PHP获取当前页面完整URL的实现代码

    PHP获取当前页面完整URL的实现代码

    本篇文章是对利用PHP获取当前页面完整URL的实现代码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 学习php设计模式 php实现建造者模式

    学习php设计模式 php实现建造者模式

    这篇文章主要介绍了php设计模式中的建造者模式,使用php实现建造者模式,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • PHP实现数组递归转义的方法

    PHP实现数组递归转义的方法

    这篇文章主要介绍了PHP实现数组递归转义的方法,包含了数组的递归调用与字符串的转义方法,需要的朋友可以参考下
    2014-08-08
  • 使用phpword生成word文档的两种方式

    使用phpword生成word文档的两种方式

    这篇文章主要介绍了使用phpword生成word文档的两种方式,直接使用代码编写word文档和读取原有word模板,替换相关变量这两种方法,并通过代码示例给大家讲解的非常详细,需要的朋友可以参考下
    2024-03-03
  • php rename错误原因的查找方法

    php rename错误原因的查找方法

    在本篇文章里小编给大家整理的是一篇关于php rename错误原因的查找方法,有需要的朋友们可以跟着学习参考下。
    2021-07-07
  • IIS+fastcgi下PHP运行超时问题的解决办法详解

    IIS+fastcgi下PHP运行超时问题的解决办法详解

    本篇文章是对IIS+fastcgi下PHP运行超时问题的解决办法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • /etc/php-fpm.d/www.conf 配置注意事项

    /etc/php-fpm.d/www.conf 配置注意事项

    下面小编就为大家带来一篇/etc/php-fpm.d/www.conf 配置注意事项。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • php页面防重复提交方法总结

    php页面防重复提交方法总结

    有时候我们的程序执行比较慢,而且我们页面也不怎么友好,没什么提示信息。操作人员以为没有点击提交按钮,就会再一次点击提交。这会导致很多问题出现。下面介绍三种防重复提交的方法
    2013-11-11
  • PHP 极验验证码实例讲解

    PHP 极验验证码实例讲解

    这篇文章主要介绍了PHP 极验验证码实例讲解的相关资料,需要的朋友可以参考下
    2016-09-09

最新评论

?


http://www.vxiaotou.com