新聞中心
本教程操作環(huán)境:windows7系統(tǒng)、php7.1版、DELL G3電腦

php類(lèi)的定義方法
在 PHP 中,可以使用 class 關(guān)鍵字加類(lèi)名的方式定義一個(gè)類(lèi),然后用大括號(hào){}將在類(lèi)體中定義類(lèi)的屬性和方法包裹起來(lái),類(lèi)的語(yǔ)法格式如下:
[修飾類(lèi)的關(guān)鍵字] class 類(lèi)名{
類(lèi)的屬性和方法;
}
類(lèi)名和變量名還有函數(shù)名的命名規(guī)則相似,都需要遵循 PHP 中的自定義命名規(guī)則,可以是任何非 PHP 保留字的合法標(biāo)簽。一個(gè)合法類(lèi)名以字母或下劃線(xiàn)開(kāi)頭,后面跟著若干字母,數(shù)字或下劃線(xiàn)。如果類(lèi)名由多個(gè)單詞組成,習(xí)慣上將每個(gè)單詞的首字母大寫(xiě)。另外,類(lèi)名最好具有一定的意義,不要隨便由幾個(gè)字母組成。
修飾類(lèi)的關(guān)鍵字是一個(gè)可選參數(shù),可以省略。我們通常使用下面這些關(guān)鍵字來(lái)修飾類(lèi):
-
abstract:抽象類(lèi)或方法,被修飾為抽象類(lèi)之后,類(lèi)將不能被實(shí)例化,但可以被繼承。如果類(lèi)中有至少一個(gè)方法被聲明為抽象的,那么這個(gè)類(lèi)也必須聲明為抽象的。繼承一個(gè)抽象類(lèi)的時(shí)候,子類(lèi)必須重新定義父類(lèi)中的所有抽象方法,而且這些方法的訪(fǎng)問(wèn)控制必須和父類(lèi)中一樣。 -
final:使用 final 修飾的類(lèi)不能被繼承,而使用 final 修飾的方法不能在子類(lèi)中重新定義。
注意:一個(gè)類(lèi)可以包含有屬于自己的常量、變量(在類(lèi)中稱(chēng)為“成員屬性”或者“屬性”)以及函數(shù)(在類(lèi)中稱(chēng)為“成員方法”或者“方法”)。
示例:
定義一個(gè)空類(lèi)
Class Person{};
定義一個(gè)有成員屬性和操作的類(lèi)
Class Person{
成員屬性........
操 作........
}
定義一個(gè)不能被繼承的類(lèi),使用final關(guān)鍵字
Final class Person{
成員屬性........
操 作........
}
注意:final關(guān)鍵字不能用來(lái)修飾成員屬性 ,只能修飾類(lèi)和方法(final方法后面介紹)
這里舉一個(gè)帶有final的class
定義一個(gè)final的類(lèi)FinalClass,包含一個(gè)公共函數(shù)
final class FinalClass {
public function ffun() {
echo “本類(lèi)為final類(lèi)”;
}
}
定義一個(gè)類(lèi)ChildFinalClass 并繼承FinalClass 類(lèi)
class ChildFinalClass extends FinalClass {
public function fchildfun() {
echo ‘本類(lèi)繼承final類(lèi)FinalClass ’;
}
}
這樣當(dāng)執(zhí)行以上命令的時(shí)候系統(tǒng)會(huì)提示
Fatal error: Class ChildFinalClass may not inherit from final class (FinalClass)
證明由final關(guān)鍵字定義的class是不可以被子類(lèi)繼承的
當(dāng)前文章:php中怎么定義類(lèi)
標(biāo)題來(lái)源:http://www.5511xx.com/article/ccsojsj.html


咨詢(xún)
建站咨詢(xún)
