批改狀態(tài):合格
老師批語(yǔ):
<?php spl_autoload_register(function($classname){//使用自動(dòng)加載器來(lái)加載類 require $classname.'.php'; }); $SPhone = new SPhone('xiaomi','note5',998,TRUE,TRUE);//初始化對(duì)象,驗(yàn)證parent::__contrunctor() echo '品牌'.$SPhone->brand.'<br>'; echo '型號(hào)'.$SPhone->model.'<br>'; echo '價(jià)格'.$SPhone->price.'<br>'; echo '照相'.($SPhone->camera ? 'yes':'no').'<br>';//輸出在子類中擴(kuò)展的屬性 echo '網(wǎng)絡(luò)'.($SPhone->internet ? 'yes':'no').'<br>'; echo $SPhone->call().'<br>';//call()中包含父類的屬性 echo $SPhone->game().'<br>';//game()是子類中的方法 ?>
<?php class SPhone extends Phone//創(chuàng)建無(wú)需代碼即可訪問(wèn)父類成員 { public function __get($name)//創(chuàng)建查詢器,實(shí)現(xiàn)了外部訪問(wèn) { return $this->$name; } //對(duì)父類屬性進(jìn)行擴(kuò)展,增加新的特征,如果不在子類中使用,推薦設(shè)置為private private $camera = false; //是否有照相功能 private $internet = false; //是否有上網(wǎng)功能 //必須使用構(gòu)造方法對(duì)使用當(dāng)前新增屬性生效 public function __construct($brand,$model,$price,$camera,$internet) { parent::__construct($brand, $model, $price,$camera,$internet);//調(diào)用父類構(gòu)造器來(lái)簡(jiǎn)化子類的構(gòu)造器初始化類屬性 $this->camera = $camera; $this->internet = $internet; } public function game()//擴(kuò)展父類的功能 { return '玩游戲'; } public function call()//將父類方法進(jìn)行重寫,功能重載必須使用與父類一樣的方法名:call() { return parent::call().',同時(shí)還能聽歌,看視頻';//應(yīng)用父類并輸出 } } ?>
<?php class Phone{ protected $brand;//設(shè)置私密屬性 protected $model; protected $price; public function __construct($brand,$model,$price)//調(diào)用類的成員變量 { $this->brand = $brand; $this->model = $model; $this->price = $price; } public function call() { return '打電話'; } } ?>
需要仔細(xì)理解spl_autoload_register,遇到手打無(wú)法使用的代碼,復(fù)制的就可以使用,醉了
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)