<?php
abstract class abs_db{//抽象类
abstract protected function connect();//数据库连接
abstract protected function select_db();//选择数据库
abstract protected function setchar();//字符设置
abstract protected function query();//查询
abstract protected function getAll(); //取出查询的一部分
abstract protected function getOne();//取出查询的一个
abstract protected function error();
}
class mysql extends abs_db{
}?>以上代码出现报错提示Class 'mysql' must implement inherited abstract method
'error(...)' 请问这是什么原因,怎么解决?我用的编译器是zend studio 9.0.3 版本。
abstract class abs_db{//抽象类
abstract protected function connect();//数据库连接
abstract protected function select_db();//选择数据库
abstract protected function setchar();//字符设置
abstract protected function query();//查询
abstract protected function getAll(); //取出查询的一部分
abstract protected function getOne();//取出查询的一个
abstract protected function error();
}
class mysql extends abs_db{
}?>以上代码出现报错提示Class 'mysql' must implement inherited abstract method
'error(...)' 请问这是什么原因,怎么解决?我用的编译器是zend studio 9.0.3 版本。
解决方案 »
- 求解一个smarty,js和css的问题
- 急啊~!明明是个数组,却Cannot use string offset as an array in
- phpMyAdmin创建mysql数据库怎么没提示输入用户名字和密码?
- php 文件写入和读出
- PHP画图,非 TTF 格式的中文字体,如何写?
- js获取php(ecshop smarty模板)数组元素值
- PHP读取文件的问题
- PHP+MYSQL制成,请指教
- 有没有PHP开发的OA系统代码呀?那位高手贡献一个呀,让我学习学习!
- 有谁可以做象yahoo那样的搜索引擎!php可以吗??
- 一段PHP在地址栏的中文传值出现乱码
- PHP:protected类方法调用问题。
protected function connect(){}
protected function select_db(){}
protected function setchar(){}
protected function query(){}
protected function getAll(){}
protected function getOne(){}
protected function error(){}
}
用abstract定义的类不能被实例化。有一个函数为abstract的类,这个类就必须是abstract,子类必须
定义所有的父类中的abstract函数,子类中函数的作用域只能被扩大,不能缩小。
abstract class abs_db{//抽象类
protected function connect();//数据库连接
protected function select_db();//选择数据库
protected function setchar();//字符设置
protected function query();//查询
protected function getAll(); //取出查询的一部分
protected function getOne();//取出查询的一个
protected function error();
}
class mysql extends abs_db{
}?>
我改成了这样,就没报错了,但是这样抽象类里边的函数还是抽象函数么?这会影响效果么
例如:abstract class A{
funcA();
}那么你在子类中就得把这个funcA的内容具体写出来B extends A{
funcA(){
//具体funcA要做的事情必须得实现出来
}}