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

完成一個依賴注入的小案例

Original 2019-06-05 01:06:55 231
abstrakt:<?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>';



// 利用構造函數(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)生高度的依賴關系

2019-06-05_010607.png

Korrigierender Lehrer:查無此人Korrekturzeit:2019-06-05 10:09:33
Zusammenfassung des Lehrers:完成的不錯。編程有很多設計模式,多了解,對以后工作幫助很大。繼續(xù)加油。

Versionshinweise

Beliebte Eintr?ge