新聞中心

泰來(lái)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
初步使用面向?qū)ο蟪绦蛟O(shè)計(jì),要掌握的就是使用面向?qū)ο蟮乃枷氤橄蟪鲆粋€(gè)類,這是一種思想的轉(zhuǎn)化,難點(diǎn)也就在這里。而這些思想體現(xiàn)在程序中就是代碼。在這里,要寫出代碼、掌握語(yǔ)法,都是很簡(jiǎn)單的,而能正確地抽象出一個(gè)類才重點(diǎn)。
下面先從簡(jiǎn)單的語(yǔ)法開始逐漸深入地講解類。
1、定義類
在 PHP 中,可以使用 class 關(guān)鍵字加類名的方式定義一個(gè)類,然后用大括號(hào)
{ }將在類體中定義類的屬性和方法包裹起來(lái),類的語(yǔ)法格式如下:
[修飾類的關(guān)鍵字] class 類名{
類的屬性和方法;
}
類名和變量名還有函數(shù)名的命名規(guī)則相似,都需要遵循 PHP 中的自定義命名規(guī)則,可以是任何非 PHP 保留字的合法標(biāo)簽。一個(gè)合法類名以字母或下劃線開頭,后面跟著若干字母,數(shù)字或下劃線。如果類名由多個(gè)單詞組成,習(xí)慣上將每個(gè)單詞的首字母大寫。另外,類名最好具有一定的意義,不要隨便由幾個(gè)字母組成。
修飾類的關(guān)鍵字是一個(gè)可選參數(shù),可以省略。我們通常使用下面這些關(guān)鍵字來(lái)修飾類:
- abstract:抽象類或方法,被修飾為抽象類之后,類將不能被實(shí)例化,但可以被繼承。如果類中有至少一個(gè)方法被聲明為抽象的,那么這個(gè)類也必須聲明為抽象的。繼承一個(gè)抽象類的時(shí)候,子類必須重新定義父類中的所有抽象方法,而且這些方法的訪問(wèn)控制必須和父類中一樣。
- final:使用 final 修飾的類不能被繼承,而使用 final 修飾的方法不能在子類中重新定義。
注意:一個(gè)類可以包含有屬于自己的常量、變量(在類中稱為“成員屬性”或者“屬性”)以及函數(shù)(在類中稱為“成員方法”或者“方法”)。
2、成員屬性
在類中直接聲明的變量稱為成員屬性(也可以稱為成員變量),可以在類中聲明多個(gè)變量,即對(duì)象中可以有多個(gè)成員屬性,每個(gè)變量都存儲(chǔ)對(duì)象不同的屬性信息。語(yǔ)法格式如下:
訪問(wèn)權(quán)限修飾符 屬性名稱 = 屬性值;
成員屬性的類型可以是 PHP 中的標(biāo)量類型和復(fù)合類型,所以也可以是其他類實(shí)例化的對(duì)象,但在類中使用資源和空類型是沒(méi)有意義的。
前面我們紹過(guò),聲明變量時(shí)不需要任何關(guān)鍵字修飾,但是在類中聲明成員屬性時(shí),變量前面一定要使用一個(gè)關(guān)鍵字來(lái)修飾,例如 public、private,static 等,但這些關(guān)鍵字修飾的變量都具有一定的意義。如果不需要有特定意義的修飾,可以使用“var”關(guān)鍵字,一旦成員屬性有其他的關(guān)鍵字修飾就需要去掉“var”。
常用訪問(wèn)權(quán)限修飾符及其含義如下所示:
- public:公共的,在類的內(nèi)部、子類中或者類的外部都可以使用,不受限制;
- protected:受保護(hù)的,在類的內(nèi)部和子類中可以使用,但不能在類的外部使用;
- private:私有的,只能在類的內(nèi)部使用,在類的外部或子類中都無(wú)法使用。
注意:一個(gè)類,即一對(duì)大括號(hào)之間的全部?jī)?nèi)容都要在一段代碼中,也就是一個(gè)之間,不能分割成多塊。
【示例】創(chuàng)建一個(gè) Students 類并在類中聲明一些成員屬性,代碼如下所示:
提示:權(quán)限修飾符可以和定義靜態(tài)變量的關(guān)鍵字 static 混合在一起使用,如上面代碼中所示。
3、成員方法
在類中定義的函數(shù)被稱為成員方法。函數(shù)和成員方法唯一的區(qū)別就是,函數(shù)實(shí)現(xiàn)的是某個(gè)獨(dú)立的功能,而成員方法是實(shí)現(xiàn)類中的一個(gè)行為,是類的一部分。
可以在類中聲明多個(gè)成員方法,成員方法的聲明和函數(shù)的聲明完全一樣,只不過(guò)在聲明成員方法時(shí)可以在
function關(guān)鍵字的前面加一些訪問(wèn)權(quán)限修飾符來(lái)控制訪問(wèn)權(quán)限,例如 public、private、protected 等。
另外需要注意的是,聲明的成員方法必須和類是相關(guān)的,不能是一些沒(méi)有意義的操作。例如,在聲明學(xué)生類時(shí),如果聲明了“飛行”的成員方法,實(shí)例化出來(lái)的每個(gè)學(xué)生都可以飛了,這樣就是一個(gè)設(shè)計(jì)上的錯(cuò)誤。
【示例】在上面示例中創(chuàng)建的 Students 類中創(chuàng)建一些成員方法。
成員方法前面的權(quán)限修飾符可以省略,省略后默認(rèn)權(quán)限為 public。在類中成員屬性和成員方法的聲明都是可選的,可以同時(shí)存在,也可以單獨(dú)存在,具體可以根據(jù)實(shí)際情況而定。
在 PHP7 中,引入了類型聲明,我們可以為成員方法的形參和返回值聲明類型,格式如下所示:
[權(quán)限修飾符] function 方法名 (類型 參數(shù)1, 類型 參數(shù)2, ..., 類型 參數(shù)n) : 返回值類型 {
... ...
}
PHP7 中支持聲明的參數(shù)類型包括整型、浮點(diǎn)型、字符串型和布爾類型。示例代碼如下所示:
標(biāo)題名稱:PHPclass:定義類
標(biāo)題網(wǎng)址:http://m.fisionsoft.com.cn/article/ccoopgi.html


咨詢
建站咨詢
