PHP物件導向繼承(二)

2021-07-05 02:57:37 字數 1208 閱讀 7136

原以為多型是乙個什麼樣複雜的概念,其實很簡單。多型就是指方法的重寫,定義乙個父類(介面),各個子類不同,但必須有介面所定義的方法,因此,這些應用統一介面的類就都有介面中定義的規範,這樣就滿足了介面所定的要求。

物件序列化(序列化)

1、 將物件轉成字串(不用看懂) ---序列化

2、 將字串轉會物件  ---反序列化

注意(序列化的時機)

1、 將物件在網路中傳輸

2、 將物件持久儲存

成功生成乙個物件後,就可以對它進行序列化了。

格式:$person= new person(「張三」,」男」,20);

$person_string=serialize($person);

其中serialize就把這個物件穿行成字串了,如果想在多個指令碼間用它,可以把它放在session裡面。

然而,當你想把這序列後的字串恢復到物件,你就可以對它進行反序列化。

格式:$person=unserialize($person_string);    //這樣$person就是乙個完整的物件了

$person->say();

關於序列化,php有兩個魔術方法,__sleep()和__wakeup()。

__sleep()是使用serialize()的時候用的,他不需要任何引數(其實你相加就加,它也只是乙個方法),但這個函式需要返回乙個陣列,在陣列中包含需要序列化的物件成員名。

格式:function __sleep()====

";$p= new person("張三", 20, "男");

$p(1,2, 4);

__callstatic()函式是你在外面直接呼叫乙個靜態方法是執行的,形式和__call()差不多,只是這個函式需要宣告為靜態的,共有的。

staticfunction __callstatic($method, $args) {

echo"你呼叫的靜態方法$method(".implode(",", $args).")不存在";

接下介紹的這份魔術方法很特殊。他是在類外面用的,當在這個指令碼需要載入類的時候(必須用到類名),就會自動呼叫這個方法。

格式function __autoload($classname){

includestrtolower($classname).」.class.php」;

$t=new test();

$st=new hello();

word::four();

PHP物件導向中繼承二

燕十八 公益php講堂 論 壇 微 博 yy頻道 88354001 筆記部分 繼承語法 extends 子類 extends 父類 注意點 子類 只能繼承自 乙個父類 不能這樣寫 subclass extends dog,cat,pig 部分 class human 再宣告乙個學生類,學生本質上還是...

php物件導向 繼承

1 繼承是從乙個基類或者父類得到乙個或者多個派生類,也叫作子類的機制。2 建立繼承樹首先找到現有基類元素不適合放在一起的,或者不需要特殊處理的,一般化。3 子類預設繼承父類所有的public和protected方法,不繼承private方法或屬性 構造方法與繼承 1 構造方法需要傳參給父類方法。2 ...

PHP物件導向 繼承

繼承是指子類可以繼承乙個或多個父類的屬性和方法,並可以重寫或新增新的屬性或方法。通過繼承已有的類,可以逐步擴充類的功能,提高 的可重用性。關鍵字 extends php中使用關鍵字extends可實現類的繼承 語法格式 class 子類名 extends 父類名 注意 php不支援多重繼承,即乙個子...