PHP接口Interface

PHP
Uiaoin 2019-07-26 4794
  1. <?php
  2. /**
  3. * 总结
  4. * 1、接口中只支持抽象方法(未被实现的方法)和常量(接口常量和类常量的使用完全相同,但是不能被子类或子接口所覆盖)
  5. * 2、接口通过关键词interface定义,接口也可以继承
  6. * 3、类实现接口,而不是实例化,用关键词implements
  7. * 4、实现接口时,必须实现接口中的所有方法
  8. */
  9. interface Action
  10. {
  11. //接口中只支持抽象方法(未被实现的方法)和常量
  12. const TITLE = 'Action Interface';
  13. public function eat($food);
  14. public function drink($drink);
  15. }
  16. //接口也可以继承
  17. interface More extends Action
  18. {
  19. public function cry($reason);
  20. }
  21. //类Person实现了接口More,而不是实例化,用关键词implements
  22. class Person implements More
  23. {
  24. const CODE = 100;
  25. //实现接口时,必须实现接口中的所有抽象方法
  26. public function eat($food)
  27. {
  28. // TODO: Implement eat() method.
  29. echo 'person eat ' . $food;
  30. }
  31. public function drink($drink)
  32. {
  33. // TODO: Implement drink() method.
  34. echo 'person drink ' . $drink;
  35. }
  36. public function cry($reason)
  37. {
  38. // TODO: Implement cry() method.
  39. echo 'person crying because ' . $reason;
  40. }
  41. public function getTitle()
  42. {
  43. //接口常量和类常量的使用完全相同
  44. return self::TITLE;
  45. }
  46. public function getCode()
  47. {
  48. //接口常量和类常量的使用完全相同
  49. return self::CODE;
  50. }
  51. }
  52. $tom = new Person();
  53. $tom -> cry('he has no money!');
  54. //person crying because he has no money!
  55. echo $tom -> getTitle();
  56. //Action Interface
  57. echo $tom -> getCode();
  58. //100
加载更多