亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 47
粉絲 3
評論 0
訪問量 49456
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
類聲明與實例化、類的靜態(tài)成員與類的擴展、trait與父類區(qū)別聯(lián)系、trait沖突與優(yōu)先級解決方案
原創(chuàng)
1007人瀏覽過

1.類聲明與實例化

  1. <?php
  2. // class聲明一個類
  3. class User
  4. {
  5. // 受保護的屬性:可以在當前類與擴展類使用
  6. protected $name;
  7. protected $email;
  8. // 構(gòu)造方法
  9. public function __construct($name,$email)
  10. {
  11. $this->name = $name;
  12. $this->email = $email;
  13. }
  14. // 公開方法
  15. public function show()
  16. {
  17. return "$this->name : $this->email";
  18. }
  19. }
  20. // new實例化
  21. $obj = new User('張三','guest@qq.com');
  22. echo $obj->show(),'<br>';
  23. ?>

2.類的靜態(tài)成員與類的擴展

  1. <?php
  2. // 類的靜態(tài)成員
  3. class Shop
  4. {
  5. // 靜態(tài)屬性
  6. protected static $name;
  7. private static $price;
  8. // 構(gòu)造方法
  9. public function __construct($name,$price)
  10. {
  11. self::$name = $name;
  12. self::$price = $price;
  13. }
  14. // 靜態(tài)方法
  15. public static function show()
  16. {
  17. return sprintf('商品名:%s<br>價格:%d',self::$name,self::$price);
  18. }
  19. }
  20. $shop = new Shop('電腦',9999);
  21. echo Shop::show(),'<br>';
  22. echo '<hr>';
  23. // 子類的擴展
  24. class Order extends Shop
  25. {
  26. // 屬性擴展
  27. private static $orderid;
  28. // 重寫父類構(gòu)造器
  29. public function __construct($name,$price,$orderid)
  30. {
  31. parent::__construct($name,$price);
  32. self::$orderid = $orderid;
  33. }
  34. // 重寫父類普通方法
  35. public static function show():string
  36. {
  37. return parent::show() . "<br>訂單號:". self::$orderid;
  38. }
  39. }
  40. $orderid = new Order('小米',3989,123456789);
  41. echo Order::show(),'<br>';
  42. ?>

3.trait功能與trait父類的區(qū)別與聯(lián)系、并實例演示trait沖突與優(yōu)先級解決方案

trait特征:理解為一個公共方法集、借用class語法實現(xiàn)、但不是類,所以不能實例化
父類可以實例化
trait特征:類使用use關鍵字、實現(xiàn)代碼復用特征類中的方法。
父類:父類使用extends擴展父類,實現(xiàn)代碼復用父類中的方法。
類同時擴展父類,又使用trait特征類,同名方法優(yōu)先級:類自身中的方法 > trait > 擴展的父類

  1. <?php
  2. trait Shop
  3. {
  4. public function s1()
  5. {
  6. return 'Hello,World!';
  7. }
  8. }
  9. // trait的類,使用use關鍵字引用
  10. class A
  11. {
  12. use Shop;
  13. }
  14. echo (new A)->s1(),'<br>';
  15. echo '<hr>';
  16. // trait的沖突與優(yōu)先級的解決方案
  17. trait A1
  18. {
  19. public function order()
  20. {
  21. return 'PHP中文網(wǎng)';
  22. }
  23. }
  24. trait A2
  25. {
  26. public function order()
  27. {
  28. return ' : php.cn';
  29. }
  30. }
  31. class B
  32. {
  33. use A1,A2{
  34. // 1.優(yōu)先級
  35. A1::order insteadOf A2;
  36. // 2.別名
  37. A2::order as orders;
  38. }
  39. }
  40. echo (new B)->order(),(new B)->orders(),'<hr>';
  41. ?>
批改老師:天蓬老師天蓬老師

批改狀態(tài):合格

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務協(xié)議
0條評論
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學習
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學習!
    全站2000+教程免費學