php抽象方法和抽象类实例分析

yipeiwu_com6年前PHP代码库

本文实例讲述了php抽象方法和抽象类。分享给大家供大家参考,具体如下:

什么是抽象方法?

在类里面定义的没有方法体的方法就是抽象方法,在方法声明的时候没有大括号以及其中的内容,另外在声明抽象方法的时候,还要加上关键字abstract来修饰。

例如:

abstract function fun1();
abstract function fun2();

只要类中有一个抽象方法,那么这个类就要定义为抽象类。

抽象类也要用abstract来修饰。

抽象类中可以有不是抽象的方法和成员属性。

但只要有一个抽象方法,这个类就必须定义为抽象类。

抽象类怎么用呢?最重要的一点是抽象类,不能产生实例对象!

定义抽象类就相当于定义了一种规范!这这种规范要求子类去遵守!子类继承了抽象类之后,把抽象类中的抽象方法按照子类的需要去实现。

子类必须把抽象类中的抽象方法全部实现,否则子类中还是存在抽象方法,子类还是抽象类,还是不能实例化!

<?php
abstract class Demo{
var $test;
abstract function fun1();
abstract function fun2();
function fun3(){
    ...
  }
}
class Test extends Demo{
function fun1(){
   ...
}
function fun2(){
   ...
}
}
$test = new Test();
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP iconv 解决utf-8和gb2312编码转换问题

终于皇天不负有心人,答案还是让我找到了。 网上的都是这样用的 复制代码 代码如下:$content = iconv("utf-8","gb2312",$content); 这样做其实也对...

PHP中调用ASP.NET的WebService的代码

其中有个web method像这样的: 复制代码 代码如下: [WebMethod] public string HelloWorld() { return "Hello World";...

利用discuz自带通行证整合dedecms的方法以及文件下载

利用discuz自带通行证整合dedecms的方法以及文件下载

整合discuz的通行证:利用discuz自带通行证整合dede的方法以及文件下载首先感谢柏拉图提供这么好的免费程序在论坛上看到大家很多都想整合discuz。我想柏拉图肯定会弄一个非常完...

php中final关键字用法分析

本文实例讲述了php中final关键字用法。分享给大家供大家参考,具体如下: final关键字只能用来定义类和定义方法。 使用final关键字标记的类不能被继承 final clas...

处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题

【详细错误】:HTTP 错误 500.0 - Internal Server ErrorC:\Program Files\PHP\php-cgi.exe - FastCGI 进程超过了配...