您好,登录后才能下订单哦!
PHP面向对象-抽象类和接口
抽象类:
一种特殊的类
类中有一个是抽象方法就是抽象类
关键字:abstract
抽象类中可以有不是抽象方法或抽象属性,但访问权限不是是私有的
抽象类的作用:
使用抽象类就包含了继承关系
为子类定义了公共接口
为子类提供了规范和约束
abstract class aa{}
抽象方法:
没有方法体(声明时没有花括号和内容),直接分好结束;
Abstract关键字修饰
abstract function aa();
注意:
抽象类不能被实例化,只能被继承
abstract class aa{ //定义抽象类 只能被继承不能被实例化
abstract function aa(); //抽象方法抽象类中的成员方法使用时必须被重载
abstract function bb();
}
class bb extends aa{ //继承抽象类
function aa(){ //实现方法
echo ‘aaaaaaaaaaaaaaaaaaa’;
}
function bb(){}
}
$a=new bb;
$a->aa();
接口:
特殊的抽象类,抽象类的方法都是抽象的
必须为公共的public
常量
抽象方法不需要前面加abstract关键字修饰,接口中的方法都是抽象方法
关键字:interface
class类实现接口关键字:implements
如实现多个接口,可用,(逗号)分割
例:
interface aa{ //声明一个接口
function insert(); //接口内定义的成员方法 无需前面加abstract修饰
}
interface bb{ //定义第二个接口
function select();
}
interfacecc extends bb{ //接口继承
function update(); //继承后的接口可在重新添加新的成员方法
}
class dd implements aa,cc{ //类实现接口 多接口用,(逗号隔开)
function insert(){} //成员方法定义接口内的所有成员方法都必须定义,否则报致命性错误 function update(){}
function delete(){}
}
$a= new dd; //实例化对象
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。