色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php inferface

錢多多1年前7瀏覽0評論
php中的Interface(接口)是一種定義代碼規(guī)范的方式。使用Interface可以幫我們規(guī)范代碼開發(fā)和實(shí)現(xiàn)類之間的高度解耦,提高代碼的可維護(hù)性。而且,在php中,Interface的使用是十分常見的一種技術(shù),今天我們就來系統(tǒng)學(xué)習(xí)一下php中的Interface相關(guān)內(nèi)容。 Interface的聲明 在php中,Interface的聲明是使用interface關(guān)鍵字。以下是一個簡單的Interface聲明示例:
interface Animal {
public function makeSound();
}
接口Animal包含一個名為makeSound的方法,該方法沒有具體的實(shí)現(xiàn),只有方法的聲明,接口就像是一個制定了規(guī)范的“合同”。 類繼承接口 類實(shí)現(xiàn)一個接口,必須實(shí)現(xiàn)接口中聲明的所有方法。為了實(shí)現(xiàn)接口中的一個方法,必須在這個類中定義這個方法,方法的訪問控制必須和接口中定義的一樣,或者更為寬松。任何其他視圖調(diào)用類中沒有實(shí)現(xiàn)的方法都將導(dǎo)致一個致命錯誤。
class Cat implements Animal {
public function makeSound() {
echo "喵喵喵";
}
}
上述示例中,Cat類實(shí)現(xiàn)了Animal接口,并實(shí)現(xiàn)了makeSound()方法。 類實(shí)現(xiàn)多個接口 一個類可以同時(shí)實(shí)現(xiàn)多個接口,實(shí)現(xiàn)多個接口就是為一個類定義了多個契約,就好像一個人可以簽訂多個合同。
interface Animal {
public function makeSound();
}
interface Run {
public function runningSpeed();
}
class Dog implements Animal, Run {
public function makeSound() {
echo "汪汪汪";
}
public function runningSpeed() {
echo "40km/h";
}
}
上述示例中,Dog類同時(shí)實(shí)現(xiàn)Animal和Run兩個接口,必須實(shí)現(xiàn)接口中的所有方法。 接口的抽象類 接口不能被實(shí)例化,它們只能被實(shí)現(xiàn)。如果要添加屬性,接口實(shí)現(xiàn)類中必須聲明該屬性。而我們經(jīng)常考慮的是,在接口中或者實(shí)現(xiàn)接口的類中使用get set方法。 這時(shí)我們就需要設(shè)計(jì)一個抽象類了。
interface TestInterface {
public function getSalary($hours, $rate);
}
abstract class AbstractClass implements TestInterface {
protected $name;
protected $baseSalary;
public function __construct($name, $baseSalary)
{
$this->name = $name;
$this->baseSalary = $baseSalary;
}
}
class Employee extends AbstractClass {
public function getSalary($hours, $rate) {
return $this->baseSalary + $hours * $rate;
}
}
$employee1 = new Employee('張三', 3000);
$salary = $employee1->getSalary(8, 100);
echo $employee1->name.'本月工資為: '.$salary;
上述示例中,TestInterface中定義一個方法getSalary,AbstractClass繼承TestInterface,并實(shí)現(xiàn)了該方法。 Employee類實(shí)現(xiàn)了AbstractClass,并且使用getSalary方法,計(jì)算員工的工資。抽象類中也可以定義屬性,供子類使用。 總結(jié) 通過學(xué)習(xí)上述內(nèi)容,相信大家對php中的Interface有了更深刻的了解。Interface可以通過嚴(yán)格的規(guī)范保證項(xiàng)目代碼的開發(fā)和實(shí)現(xiàn)之間的高度解耦,提高代碼的可維護(hù)性。并且,Interface的使用在php中非常的普遍,只有掌握了Interface的使用方法,才能寫出更加規(guī)范 和優(yōu)雅的代碼。