1. 程式人生 > >PHP面向對象2

PHP面向對象2

ride new 父類 imp nts override 調用 方法 extends

繼承
父類(基類) 子類(派生類)
子類可以繼承父類的一切
特點:單繼承。 一個父類可以派生多個子類,一個子類只能有一個父類。
重寫:子類對付類的方法進行重寫(override)
重載:overload (PHP裏面不存在,在強類型語言裏面存在)
class Ren{
public $name;
public function say(){
echo "人在江湖飄<br>";
}
}
class China extends Ren{
public function say(){
parent::say();
echo "哪能不挨刀<br>";
}
}
class America extends Ren{
public function say(){
echo "一刀砍死你";
}
}
$c = new China();
$c->say();
$a = new America();
$a->say();
多態:當父類引用指向子類實例的時候,由於子類對父類的方法進行了重寫,所以該引用在調用
相應方法時表現出的不同形態成為多態。
運行多態(重寫override)和編譯多態(重載overload)

抽象類

抽象類
不能被實例化 只能作為父類使用
只要是包含抽象方法的類必須是抽象類
abstract class Ren{
public function say();
}

接口
第一層意思是面向對象。第二層意思是,API:網絡上所提供的數據服務

interface IUSB{
public function read();
public function write();
}
class ShuBiao implements IUSB{
public function read(){
echo "鼠標能用了";
}
public function write(){
echo "向鼠標返回數據";
}
}
$s = new ShuBiao();
$s->read();

靜態
普通成員:屬於對象的
靜態成員:屬於類的
普通方法裏面可以包含靜態變量
靜態方法裏面不能包含普通成員

、class FenBi{
public $cd;
public static $ys; //靜態成員變量
}
$f = new FenBi();
$f->cd;

echo FenBi::$ys = "黃色"; //調用靜態成員

PHP面向對象2