注釋?zhuān)?/strong> 1.對(duì)象可以使用foreach進(jìn)行遍歷,只能遍歷成員屬性。 2.僅能在外部遍歷對(duì)象的public屬性。 3.在類(lèi)的內(nèi)部可以使用$this進(jìn)行遍歷
2.接口:先定義一個(gè)標(biāo)準(zhǔn)的寫(xiě)法,讓某些類(lèi)來(lái)實(shí)現(xiàn)接口的時(shí)候,必須要實(shí)現(xiàn)接口定義的所有函數(shù),是為了保證我們程序的標(biāo)準(zhǔn)化。
3.接口的寫(xiě)法: (1)通過(guò)interface來(lái)定義一個(gè)借口。 (2)接口的函數(shù)必須不能包含函數(shù)體。 (3)接口的函數(shù)必須全部被類(lèi)實(shí)現(xiàn)。 (4)接口定義的函數(shù)如果有參數(shù),那么實(shí)現(xiàn)類(lèi)的函數(shù)也必須有參數(shù),如果參數(shù)有默認(rèn)值,那么實(shí)現(xiàn)類(lèi)的函數(shù)也必須有默認(rèn)值。 (5)接口不能包含成員屬性。 (6)實(shí)現(xiàn)的類(lèi)可以包含成員屬性,跟接口沒(méi)關(guān)系。 (7)接口的定義函數(shù)必須是public。
4.抽象類(lèi)與抽象方法 (1)抽象跟接口差不多,不能被直接實(shí)例化。 (2)通過(guò)abstract class 關(guān)鍵詞來(lái)定義一個(gè)抽象類(lèi)。 (3)抽象類(lèi)可以像正常類(lèi)一樣,包含成員屬性和成員方法。 (4)抽象類(lèi)可以有至少一個(gè)抽象方法,抽象方法不能有函數(shù)體,而且定義抽象方法必須被繼承的類(lèi)所實(shí)現(xiàn)。 (5)抽象方法通過(guò)abstract關(guān)鍵詞來(lái)定義。 (6)抽象類(lèi)可以定義靜態(tài)成員方法,而且可以直接使用抽象類(lèi)名來(lái)調(diào)用靜態(tài)方法,Leader::attack();,當(dāng)然繼承的類(lèi)也可以。
5.trait: 寫(xiě)法: (1)通過(guò)trait關(guān)鍵詞來(lái)定義。 (2)定義好之后其實(shí)和類(lèi)一樣,同樣包含成員屬性和成員方法。 (3)trait不能夠直接被實(shí)例化,必須被其他的類(lèi)使用,使用use關(guān)鍵詞來(lái)定義,重點(diǎn)是支持多個(gè),實(shí)現(xiàn)類(lèi)的多繼承。 (4)可以包含抽象方法。 (5)trait定義的方法沖突的時(shí)候,要使用insteadof來(lái)修正,只能使用一個(gè),或者使用as起別名。
6.命名空間 (1)通過(guò)在類(lèi)的上面使用namespace來(lái)定義一個(gè)命名空間。 (2)命名空間支持多級(jí),像文件夾的結(jié)構(gòu)一樣。 (3)如果在同一文件中寫(xiě)多個(gè)命名空間,范圍是從當(dāng)前的命名空間到下一個(gè)命名空間結(jié)束。 (4)當(dāng)使用命名空間之后,遇到相同的類(lèi)名,可以直接使用use來(lái)說(shuō)明調(diào)用的是哪個(gè)命名空間下面的類(lèi)。 (例如:use 后面寫(xiě)/Db/Bo/Db;最后是一個(gè)類(lèi)名) (5)使用的時(shí)候,加上反斜杠代表從根命名空間開(kāi)始查找,后面的叫做子集命名空間。
7.MVC:是一種構(gòu)建開(kāi)發(fā)框架的思想,把整個(gè)項(xiàng)目分成三部分。 (1)頁(yè)面模板(利用模板引擎顯示頁(yè)面)———視圖(View) (2)控制器(控制操作數(shù)據(jù)庫(kù),并輸出模板)——控制器(Controller) (3)數(shù)據(jù)操作(操作數(shù)據(jù)庫(kù))——————-模型(Model)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注