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; //实例化对象
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。