php5新添加了好多的新函數(shù)和特征,但是在目前最新的chm的手冊(cè)中都沒(méi)有體現(xiàn),要到在線(xiàn)的手冊(cè)中查找,煩?。。。?/p>
廢話(huà)不多說(shuō)了,來(lái)看看php5中全新的class對(duì)比php2的class有什么新的特征。
1/ 加了訪(fǎng)問(wèn)權(quán)限的控制:使用private/public/protected的特征
2/ 加入了接口和抽象類(lèi)的概念,interface/abstract,可惜的是類(lèi)的繼承還是樹(shù)形的單繼承。
3/ 可以定義final 函數(shù),不能在父類(lèi)中覆蓋這個(gè)函數(shù)
4/ 終于可以在類(lèi)中定義 靜態(tài)的變量,在php中只能在函數(shù)中定義,
static $aa = nulll;
另外還提供了 const 方法
const mystatic = ‘aaaaaa’;
5/ 新提供了一個(gè)self內(nèi)部方法
echo self::mystatic;
6/ 加入了如下的內(nèi)部特征
__construct() 初始化
__destruct(); 卸載
__get(); 組織返回類(lèi)中的某些變量值。
__set(); 組織給類(lèi)中的某些變量值賦值。
__call(); 調(diào)用不存在的類(lèi)的函數(shù)的時(shí)候得處理方法
__clone(); copy對(duì)象用
__sleep(); 序列化的時(shí)候用
__weekup(); 反序列的時(shí)候用
7/ 默認(rèn)的object的賦值采用了應(yīng)用的方式,如:
$object2 = $object1
$object2 得到的是$object1的引用,不是在內(nèi)存中copy副本
8/ 提供了 reflection API ,主要用來(lái)顯示class/function 本省的結(jié)構(gòu)和統(tǒng)計(jì)信息,這個(gè)是一個(gè)全新的東西,很難說(shuō)清楚,(雖然很強(qiáng)大,但是我個(gè)人還是沒(méi)有找到“這位英雄可以用武的地方”)
9/ 對(duì)class對(duì)象提供了一個(gè)枚舉的功能,可以用for循環(huán)來(lái)處理對(duì)象中的全局的變量。
10/ 提供了一個(gè)__autoload();函數(shù),用來(lái)自動(dòng)的加載類(lèi)聲明文件