關(guān)于PHP中Object對(duì)象的筆記分享
更新時(shí)間:2011年06月28日 19:12:44 作者:
關(guān)于PHP中Object對(duì)象的筆記分享,學(xué)習(xí)php面向?qū)ο蟮呐笥芽梢詤⒖枷隆?/div>
1.當(dāng)將所有實(shí)例設(shè)為null,php會(huì)自動(dòng)清除對(duì)象的引用。
2.建構(gòu)子:__construct()
清除對(duì)象時(shí)自動(dòng)執(zhí)行的方法:__destruct()
也可以設(shè)置手動(dòng)清除對(duì)象的方法:destroy或者clean_up
3.對(duì)象中的三種變量范圍:public、private和protected。
4.對(duì)象中的常量屬性可以使用const關(guān)鍵字,然后在對(duì)象外部以“對(duì)象名::屬性名”的格式引用,在對(duì)象內(nèi)部以“self::屬性名”的格式引用。
5.在整個(gè)對(duì)象所有實(shí)例中通用的屬性,就是靜態(tài)屬性,使用static關(guān)鍵字。
static與const的區(qū)別在于,const前只能使用public關(guān)鍵字,而static可以使用其他關(guān)鍵字。此外,static屬性并非只讀。
6.在整個(gè)對(duì)象所有實(shí)例中通用的方法,就是靜態(tài)方法,也使用static關(guān)鍵字。
7.可以定義一個(gè)抽象類(lèi),用來(lái)定義界面。這種類(lèi)只能被繼承,而不能創(chuàng)造實(shí)例。在類(lèi)內(nèi)部,用abstract定義子類(lèi)必須提供的方法。
凡是有abstract方法的類(lèi),必須在類(lèi)名前使用abstract關(guān)鍵字。
abstract class Producr
8.在方法前加final關(guān)鍵字,可以防止子類(lèi)override這個(gè)方法。
類(lèi)名之前也可以加final關(guān)鍵字,這樣就表明其他類(lèi)不能繼承它。
9.界面interface用來(lái)定義一系列抽象類(lèi)的結(jié)構(gòu)。
interface IProduct
{
... ...
}
abstract class Product implements Iproduct
{
......
}
10.
== 比較兩個(gè)對(duì)象是否為同樣類(lèi)型,以及是否有同樣的值。
=== 比較兩個(gè)對(duì)象是否為同一個(gè)類(lèi)的實(shí)例。
11.類(lèi)的克?。和耆珡?fù)制值。
$a = new SomeClass();
$b = clone $a;
可以定義一個(gè)__clone()函數(shù),專(zhuān)門(mén)對(duì)克隆行為進(jìn)行定制。
12.可以定義一個(gè)類(lèi)的__toString()方法,對(duì)使用print和echo函數(shù)的行為進(jìn)行定制。
13.get_class()函數(shù):返回一個(gè)對(duì)象的類(lèi)名。
14.可以在一個(gè)函數(shù)的參數(shù)前加類(lèi)名,表示TypeHint。
15.可以定義一個(gè)__autoload()函數(shù),它的參數(shù)就是php找不到定義的類(lèi)名??梢栽谶@個(gè)函數(shù)中定義如何自動(dòng)加載。
2.建構(gòu)子:__construct()
清除對(duì)象時(shí)自動(dòng)執(zhí)行的方法:__destruct()
也可以設(shè)置手動(dòng)清除對(duì)象的方法:destroy或者clean_up
3.對(duì)象中的三種變量范圍:public、private和protected。
4.對(duì)象中的常量屬性可以使用const關(guān)鍵字,然后在對(duì)象外部以“對(duì)象名::屬性名”的格式引用,在對(duì)象內(nèi)部以“self::屬性名”的格式引用。
5.在整個(gè)對(duì)象所有實(shí)例中通用的屬性,就是靜態(tài)屬性,使用static關(guān)鍵字。
static與const的區(qū)別在于,const前只能使用public關(guān)鍵字,而static可以使用其他關(guān)鍵字。此外,static屬性并非只讀。
6.在整個(gè)對(duì)象所有實(shí)例中通用的方法,就是靜態(tài)方法,也使用static關(guān)鍵字。
7.可以定義一個(gè)抽象類(lèi),用來(lái)定義界面。這種類(lèi)只能被繼承,而不能創(chuàng)造實(shí)例。在類(lèi)內(nèi)部,用abstract定義子類(lèi)必須提供的方法。
凡是有abstract方法的類(lèi),必須在類(lèi)名前使用abstract關(guān)鍵字。
abstract class Producr
8.在方法前加final關(guān)鍵字,可以防止子類(lèi)override這個(gè)方法。
類(lèi)名之前也可以加final關(guān)鍵字,這樣就表明其他類(lèi)不能繼承它。
9.界面interface用來(lái)定義一系列抽象類(lèi)的結(jié)構(gòu)。
interface IProduct
{
... ...
}
abstract class Product implements Iproduct
{
......
}
10.
== 比較兩個(gè)對(duì)象是否為同樣類(lèi)型,以及是否有同樣的值。
=== 比較兩個(gè)對(duì)象是否為同一個(gè)類(lèi)的實(shí)例。
11.類(lèi)的克?。和耆珡?fù)制值。
$a = new SomeClass();
$b = clone $a;
可以定義一個(gè)__clone()函數(shù),專(zhuān)門(mén)對(duì)克隆行為進(jìn)行定制。
12.可以定義一個(gè)類(lèi)的__toString()方法,對(duì)使用print和echo函數(shù)的行為進(jìn)行定制。
13.get_class()函數(shù):返回一個(gè)對(duì)象的類(lèi)名。
14.可以在一個(gè)函數(shù)的參數(shù)前加類(lèi)名,表示TypeHint。
15.可以定義一個(gè)__autoload()函數(shù),它的參數(shù)就是php找不到定義的類(lèi)名??梢栽谶@個(gè)函數(shù)中定義如何自動(dòng)加載。
相關(guān)文章
Zend framework處理一個(gè)http請(qǐng)求的流程分析
Zend framework處理一個(gè)http請(qǐng)求的流程分析,有助于大家提高知識(shí)面。2010-02-02PHP實(shí)現(xiàn)數(shù)據(jù)四舍五入的方法小結(jié)【4種方法】
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)據(jù)四舍五入的方法,結(jié)合實(shí)例形式總結(jié)分析了php使用number_format()、round()、sprintf()格式化及intval()等函數(shù)實(shí)現(xiàn)數(shù)據(jù)四舍五入的4種操作方法,需要的朋友可以參考下2019-03-03php+MySQL判斷update語(yǔ)句是否執(zhí)行成功的方法
這篇文章主要介紹了php+MySQL判斷update語(yǔ)句是否執(zhí)行成功的方法,可以通過(guò)mysql_affected_rows方法加以實(shí)現(xiàn),需要的朋友可以參考下2014-08-08