Blogger Information
Blog 11
fans 0
comment 0
visits 9122
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP 新特性之 接口与 trait
PHP新手学习记录
Original
967 people have browsed it

接口示例

  1. // 接口是类的模板,子类必须完成他指定的方法。
  2. // 商店应有的功能
  3. interface Shop
  4. {
  5. // 方法必须公有
  6. public function buy($goods);
  7. public function sell();
  8. }
  9. // 接口可以继承
  10. interface Items extends Shop
  11. {
  12. public function demo();
  13. }
  14. // 子类可以实现多个接口
  15. // 子类必须实现 buy 和 sell 方法
  16. class BaseShop implements Shop, Items
  17. {
  18. public function buy($name)
  19. {
  20. echo "您购买了{$name}<br>";
  21. }
  22. public function sell()
  23. {
  24. $name = '手机';
  25. echo "您售出了一部{$name}<br>";
  26. }
  27. public function demo()
  28. {
  29. echo '我是用来演示接口多实现的方法';
  30. }
  31. }
  32. $items = new BaseShop;
  33. $items->buy('电脑');
  34. $items->sell();
  35. $items->demo();

输出结果:

trait 示例

trait 可以用来定义一些公共代码片段,减少代码重复,提供代码复用。

  1. // 计算汽车税后总价
  2. trait calculatePrice
  3. {
  4. private $price = 480000; // 价格
  5. private $tax = 0.08; // 税收
  6. // 计算总价
  7. public function totalPrice() {
  8. return $this->price * (1 + $this->tax);
  9. }
  10. }
  11. class Car
  12. {
  13. use calculatePrice;
  14. public $model = 'BMW Z4';
  15. }
  16. $bmw = new Car;
  17. echo "{$bmw->model} 税后总价是:{$bmw->totalPrice()}";

输出结果:

  1. BMW Z4 税后总价是:518400
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:接口一定要留意 , 实现方法与它的定义时的参数必须一一对应
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post