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

搜索
博主信息
博文 40
粉絲 0
評(píng)論 0
訪問(wèn)量 26037
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
類與對(duì)象、oop封裝性、構(gòu)造器 . 魔術(shù)方法的應(yīng)用:屬性重載與方法重載 , 類的原生自動(dòng)加載,類的繼承與功能擴(kuò)展
飛天001
原創(chuàng)
1054人瀏覽過(guò)

類與對(duì)象、oop封裝性、構(gòu)造器 . 魔術(shù)方法的應(yīng)用:屬性重載與方法重載 , 類的原生自動(dòng)加載,類的繼承與功能擴(kuò)展

1.類與對(duì)象,oop封裝性,構(gòu)造方法

類與對(duì)象

  1. //創(chuàng)建類
  2. class User{}
  1. //類的實(shí)例化,即創(chuàng)建對(duì)象
  2. $mj = new User();

OOP的封裝性

  1. //類屬性的訪問(wèn)修飾符,實(shí)現(xiàn)了類OOP的封裝性
  2. public string $name;
  3. private int $salary;
  4. protected int $age;

構(gòu)造方法

  1. // __construct(){}構(gòu)造方法
  2. public function __construct($name,$salary,$age){
  3. //$this代表本對(duì)象(實(shí)例化的對(duì)象)
  4. $this->name = $name;
  5. $this->salary = $salary;
  6. $this->age = $age;
  7. }

2. 類的原生自動(dòng)加載

  1. /**類的自動(dòng)加載器 */
  2. spl_autoload_register(function ($className) {
  3. // echo $className; //加載的類名稱
  4. $classFile = __DIR__ . DS . 'class' . DS . $className . '.php';
  5. if (is_file($classFile) && file_exists($classFile)) require $classFile;
  6. });

3. 屬性重載和方法重載

屬性的重載

  1. // !當(dāng)訪問(wèn)當(dāng)前環(huán)境下未定義或不可訪問(wèn)的類屬性時(shí) ,重載方法__get會(huì)被調(diào)用。
  2. public function __get($name)
  3. {
  4. return $this->data[$name];
  5. }
  6. // !當(dāng)給當(dāng)前環(huán)境下未定義或不可訪問(wèn)的類屬性賦值時(shí) ,重載方法__set會(huì)被調(diào)用。
  7. public function __set($name, $value)
  8. {
  9. $this->data[$name] = $value;
  10. }

方法的重載

  1. // !當(dāng)訪問(wèn)當(dāng)前環(huán)境下未定義或不可訪問(wèn)的類普通方法時(shí) ,重載方法__call會(huì)被調(diào)用。
  2. public function __call($name, $args)
  3. {
  4. if ($name == 'show') {
  5. return $this->data;
  6. }
  7. if ($name == 'sum') {
  8. // var_dump($args);
  9. return array_sum($args);
  10. }
  11. }

4. 類的繼承與功能擴(kuò)展

類的繼承

  1. class Son extends Product
  2. {
  3. // 擴(kuò)展屬性
  4. public string $brand;
  5. // override 重寫
  6. public function __construct($name, $price, $num, $brand)
  7. {
  8. // parent:: 調(diào)用父類成員
  9. parent::__construct($name, $price, $num);
  10. $this->brand = $brand;
  11. }
  12. // 重寫show方法
  13. public function show()
  14. {
  15. return <<<SHOW
  16. 1. 品名:$this->name
  17. 2. 價(jià)格:$this->price
  18. 3. 數(shù)量:$this->num
  19. 4. 品牌:$this->brand
  20. SHOW;
  21. }
  22. }

功能的擴(kuò)展

  1. // 功能擴(kuò)展
  2. public function total()
  3. {
  4. return "$this->name,數(shù)量為{$this->num},總計(jì)" . ($this->price * $this->num) . '元';
  5. }
批改老師:PHPzPHPz

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

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

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

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