第七章(11)面向對象詳解_對象的串行化和反串行化
串行化就是把對象轉化成二進制的字符串 (要串行化的對象名稱).
反串行化就是把二進制化字化為對象 unserilize(要反串行化的對象名稱).
符串轉串行化標准:
$r1=new Ren("張三",20,"男");
$str=($r1<要串行化的對象>);
$file=fopen("tmp.txt"<串行化保存到的文件地址>,"w"<寫>);
fwrite($file,$str);
fclose($file);
反串行化標准:
include"ren.php"<將串行化對象的php移入反串行化的php中>;
$file=fopen("tmp.txt"<要反串行化的文件地址>,"r"<讀>);
$str=fread($file,filesize("tmp.txt"<讀的長度,填文件地址就是文件有好長就讀好長>));
fclose($file);
$r=unserilize($str);
$r->shuohua();
在什麼情況下將對象串行化:
1.對象在網絡中傳輸的時候.
2.將對象存入文件或數據庫的時候.
__sleep(){$arr=array(要串行化的屬性);return $arr;}串行化部分屬性時自動調用的方法.
__wakeup()反串行化時自動調用的方法<可以將串行化的屬性在反串行化時初始值>.
第七章(12)面向對象詳解_抽象方法和抽象類
抽象方法:在類裡面沒有方法體的方法就是抽象方法.
abstract<抽象方法關鍵字> function 方法名();.
抽象類:抽象類不能實例化對象的,此類就是抽象類,抽象類不能實例化 對象,就要在此類前面加 abstract來修飾.
抽象類的用途:就相當於一個規范,如果要抽象類裡面的原有的功能實現就必須以抽象類作為父類做一個子類,然後覆蓋完整抽象類裡面的抽象方法,才能使抽象類裡面的功能一一實現.