当前位置:Gxlcms > PHP教程 > PHP接口多继承和tarits实现多继承效果的方法教程详情

PHP接口多继承和tarits实现多继承效果的方法教程详情

时间:2021-07-01 10:21:17 帮助过:46人阅读

本文实例讲述了PHP接口多继承及tarits实现多继承效果的方法。分享给大家供大家参考,具体如下:

接口多继承

在PHP的面向对象中,接口可以继承接口。PHP类只能继承一个父类(单继承),但是接口可以实现多继承,可以继承一个或者多个接口。当然接口的继承也是和类的继承一样使用extends关键字,要多个继承的话只要用逗号把继承的接口隔开即可。

需要注意的是当你接口继承其它接口时候,直接继承父接口的静态常量属性和抽象方法,所以类实现接口时必须实现所有相关的抽象方法。

下面举例说明:

1.继承单接口

i

  1. nterface testA{
  2. function echostr();
  3. }
  4. interface testB extends testA{
  5. function dancing($name);
  6. }
  7. class testC implements testB{
  8. function echostr(){
  9. echo "接口继承,要实现所有相关抽象方法!";
  10. echo "
  11. ";
  12. }
  13. function dancing($name){
  14. echo $name."正在跳舞!";
  15. }
  16. }
  17. $demo=new testC();
  18. $demo->echostr();
  19. $demo->dancing("模特");
  20. //运行结果
  21. /**
  22. 接口继承,要实现所有相关抽象方法
  23. 模特正在跳舞!
  24. **/

2.继承多接口

  1. interface testA{
  2. function echostr();
  3. }
  4. interface testB{
  5. function dancing($name);
  6. }
  7. interface testC extends testA,testB{
  8. function singing($nickname);
  9. }
  10. class testD implements testC{
  11. function echostr(){
  12. echo "接口继承,要实现父接口所有相关方法!";
  13. echo "
  14. ";
  15. }
  16. function dancing($name){
  17. echo $name."正在跳舞!";
  18. echo "
  19. ";
  20. }
  21. function singing($nickname){
  22. echo $nickname."正在唱歌!";
  23. }
  24. }
  25. $demo=new testD();
  26. $demo->echostr();
  27. $demo->dancing("模特");
  28. $demo->singing("周杰伦");
  29. //运行结果
  30. /**
  31. 接口继承,要实现父接口所有相关方法!
  32. 模特正在跳舞!
  33. 周杰伦正在唱歌!
  34. **/

tarits多继承

多继承里一个类可以同时继承多个父类,组合多个父类的功能 C++ 里就是使用这种模型来增强集成的灵活性的,但多重继承过于灵活,并且会带来“菱形继承”,故使用起来有不少困难,模型变的复杂起来,现在大多数语言都放弃了多重继承这一模型。

但有的场合想用多继承,但PHP又没多继承,于是就发明了这样的一个东西。

Traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化。先来例子看下语法:

  1. trait myTrait{
  2. function traitMethod1(){}
  3. function traitMethod2(){}
  4. }
  5. //然后是调用这个traits,语法为:
  6. class myClass{
  7. use myTrait;
  8. }
  9. //这样就可以通过use myTraits,调用Traits中的方法了,比如:
  10. $obj = new myClass();
  11. $obj-> traitMethod1 ();
  12. $obj-> traitMethod2 ();
  13. >

本文实例讲述了PHP接口多继承及tarits实现多继承效果的方法,更多相关知识请关注Gxl网。

相关推荐:

php字符串反转 面试中经常遇到的问题

PHP怎样获取字符流中第一个不重复字符

PHP使用一行代码删除目录下所有文件方法

以上就是PHP接口多继承和tarits实现多继承效果的方法教程详情的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行