博客列表 >PHP 新特性之 接口与 trait

PHP 新特性之 接口与 trait

PHP新手学习记录
PHP新手学习记录原创
2020年05月06日 16:49:08972浏览

接口示例

  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
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议