批改状态:合格
老师批语:interface的作用远不止这些, 后面还会用到
1.1用interface接口作为顶层设计,将核心设计代码放入接口中
1.2用trait组件作为功能模块,将公用模块代码放入trait中
1.3用抽象类作为功能区,将trait组件引入抽象类,并将相关抽象方法放入抽象类
1.4最后用工作类继承抽象类,实现抽象类中的抽象方法
1.5客户端实例化工作类,访问相关的方法即可
// trait+interface+抽象类// interface顶层设计类interface iface{const MYNAME='暴宇';public function ifun();}// trait组件1trait td1{public function tfun(){return 'td1组件方法:'.__METHOD__;}}// trait组件2trait td2{public function tfun(){return 'td2组件方法:'.__METHOD__;}}// 抽象类abstract class aclass implements iface{// 嵌入组件1和组件2use td1,td2{td1::tfun insteadOf td2;td2::tfun as tfun2;}// 实现接口方法public function ifun(){return '在抽象类中被实现的接口方法:'.__FUNCTION__;}abstract function acfun();}// 工作类class job extends aclass{// 实现抽象类方法public function acfun(){return '在工作类中被实现的抽象类方法:'.__FUNCTION__;}}// 实例化工作类$job=new job;echo $job->tfun(),'<hr>';echo $job->tfun2(),'<hr>';echo $job->ifun(),'<hr>';echo $job->acfun(),'<hr>';echo iface::MYNAME,'<hr>';

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号