abstract class person{
//定義抽象方法:修飾詞:abstract 方法是沒有方法體的
public abstract function say($name);
public abstract function run();
public function eat(){
echo 'eat...';
}
}
class student extends person{
public function say($name){
echo "{$name}say...";
}
public function run(){
echo 'run...';
}
}
$student = new student ();
$student -> say('lisi');
echo "<hr />";
$student -> eat();
幾點
接口 聲明關鍵字 interface
接口中可以聲明常量也可以聲明抽象方法
接口中的方法都是抽象方法不需要使用abstract修飾
接口不能實例化,需要用一個類去實現它(implements)
一個類可以實現多個接口(解決了php單繼承的問題)
interface person{
const Name='lwb';
public function run();
public function say();
}
interface learn{
public function study();
}
class student implements person,learn{
public function run(){
echo 'run...';
}
public function say(){
echo 'say...';
}
public function study(){
echo 'study...';
}
}
$student = new student();
$student -> run();
echo "<hr />";
echo $student::Name."<hr />";
$student -> say()
echo "<hr />";
$student -> study();