abstrak:<?php class Animal { public function swim() { return '我喜歡游泳'; } public function fly() { return '我喜歡飛'; } public function ru
<?php class Animal { public function swim() { return '我喜歡游泳'; } public function fly() { return '我喜歡飛'; } public function run() { return '我喜歡跑步'; } } // 類內(nèi)部實例化類,在類中實例化另一個類這會讓當前類與被引用的類之間產(chǎn)生高度的依賴關系,即高度耦合。這樣操作非常不好 class Fish { public function getInfo() { $fish = new Animal(); return '我是魚,生活在水里'.$fish->swim(); } } $fish = new Fish(); echo $fish->getInfo(); echo '<hr>'; // 利用構(gòu)造函數(shù)實現(xiàn)依賴注入,類外先實例化其它類,然后在new當前時傳入實例化后的引用類做參數(shù) class Bird { private $bird = null; public function __construct(Animal $animal) { $this->bird=$animal; } public function getInfo() { return '我是老鷹,生活在天空'.$this->bird->fly().'<hr>'; } } $animal = new Animal; $bird = new Bird($animal); echo $bird->getInfo(); // 利用操作方法(普通函數(shù))實現(xiàn)依賴注入,類外先實例化其它類,然后在new當前類后調(diào)用操作方法時傳入實例化后的引用類做參數(shù) class Hare { public function run(Animal $animal) { return '我的兔子,生活在野外'.$animal->run(); } } $animal = new Animal; $hare = new Hare; echo $hare->run($animal);
引用類包含了各種需要用到的方法或不需要的方法,可對引用類進行實例化后的部分方法進行訪問操作,當類外部實例化另個類后再以參數(shù)方式傳入當前類方法中可免類之間產(chǎn)生高度的依賴關系
Guru membetulkan:查無此人Masa pembetulan:2019-06-05 10:09:33
Rumusan guru:完成的不錯。編程有很多設計模式,多了解,對以后工作幫助很大。繼續(xù)加油。