亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

什么是php類?php類的屬性詳解

2020-03-22 18:57:31
字體:
來源:轉載
供稿:網友
類的概念:類是具有相同屬性和操作的一組對象的集合。它為屬于該類的所有對象提供了統一的抽象描述,其內部包括屬性和操作兩個主要部分。在html' target='_blank'>面向對象的編程語言中,類是一個獨立的程序單位,它應該有一個類名并包括屬性說明和操作說明兩個主要部分。

1、類的定義:

i. 類的關鍵字定義使用class

1.定義一個空類

Class Person{};

2.定義一個有成員屬性和操作的類

Class Person{

成員屬性........

操 作........

}

3.定義一個不能被繼承的類,使用final關鍵字

Final class Person{

成員屬性........

操 作........

}

4.注意:final關鍵字不能用來修飾成員屬性 ,只能修飾類和方法(final方法后面介紹)

5.這里舉一個帶有final的class

定義一個final的類FinalClass,包含一個公共函數

final class FinalClass {public function ffun() {echo “本類為final類”;}}

定義一個類ChildFinalClass 并繼承FinalClass 類

class ChildFinalClass extends FinalClass {public function fchildfun() {echo ‘本類繼承final類FinalClass ’;}}

這樣當執行以上命令的時候系統會提示

Fatal error: Class ChildFinalClass may not inherit from final class (FinalClass)

證明由final關鍵字定義的class是不可以被子類繼承的

2、類中成員屬性的定義

i. 成員屬性就是對該類定義的一些變量屬性,那人作為一個類來說,人都有一對眼睛(正常的啊,二郎神除外),一張嘴,兩個耳朵,等這樣的一些固定的用來描述或表現某種事物的專有名詞稱為成員屬性

ii. 類中成員屬性的聲明使用的關鍵字

iii. 常見成員屬性聲明是由關以下鍵字
public,var,protected,private開頭的,然后跟一個變量來組成的。還有一些成員屬性包括,靜態static,常量const.

Public: 表示全局的,類內部外部子類都可以訪問

Var: php 5 版本中會認為這個成員屬性為public類型的屬性

protected 表示受保護的,只有本類或子類或父類中可以訪問

private
表示私有的,只有本類內部可以使用

Static: 1)靜態的屬性,

2)用static修飾的成員屬性可以被同一個類的所有對象共享

3) 靜態的數據是在類第一次被加載的時候就存在了內存中的數據段中(初始化靜態段)

4)類中使用self::成員屬性名

5)類外 類名::成員屬性名

Const: 1)類中常量屬性,在類中聲明常量必須使用const

2)類中使用 self::成員屬性名

3)類外使用 類名::成員屬性名

注意:屬性中的變量可以初始化,但是初始化的值必須是常數,這里的常數是指php腳本在編譯階段時就為常數,而不是在編譯階段之后在運行階段運算出的常數。例如,不能包含任何運算符,不能是任何變量,不能是一個函數等。

iv. 成員屬性的調用方式:

在類的成員方法里面,可以通過 $this->property(property是屬性名字)這種方式來訪問類的屬性、 方法,但是要訪問類的靜態屬性或者在靜態方法里面卻不能使用,而是使用 self::$property。 在類的非靜態方法里面可以使用偽變量 $this,這個偽變量是調用該方法的實例化對象引用。

接下來用代碼對上面的內容做一下解釋:

class FinalClass {//static $a = strTolower();   //這種寫法錯誤//const  A = 1+2;              //這種寫法錯誤//public $name = 123+456;     //這種寫法錯誤static $a = '$a';const  A = 'A';public $name = '鳳姐';protected $sex = '男+女';private $age = 23;}class ChildFinalClass extends FinalClass{public function fchildfun(){echo 'ChildFinalClass類中ChildFinalClass::$a->'.ChildFinalClass::$a."<hr>";Echo 'ChildFinalClass類中ChildFinalClass::A->'.ChildFinalClass::A."<hr>";echo '大家好,我叫'.$this->name."<hr>";echo '我是:'.$this->sex.'生<hr>';echo '我今年:'.$this->age.'<hr>';   //由于age是私有的成員屬性,所以在這里將不會被調用,將提示沒有定義此屬性在ChildFinalClass類中。 }}$obj = new ChildFinalClass();$obj->fchildfun();

3、類中操作的定義

i. 我本人一般喜歡叫操作為成員方法,以下我會叫操作為方法其實都是一樣的

ii. 成員方法的定義:成員方法就是對該類定義的一些函數方法,比如拿這個類來例句例子,人能吃飯,能跑步,能敲代碼,這就是成員方法。也就是可以做一些可執行性的動作我們理解為成員方法

iii. 成員方法的訪問和成員屬性一樣可以參照上面成員屬性的訪問介紹。

iv. 成員方法和成員屬性一樣也包括public,protected,private,static,final并且作用域也是一樣的,接下來舉一些例子供大家參考和理解。

v. 靜態的成員方法只能訪問靜態的成員屬性和成員方法,并且類內部訪問靜態方法可以使用self::靜態方法(), 類外部訪問使用類名::靜態方法()

1. 自定義方法:

class FinalClass {static $a = '$a';const  A = 'A';public $name = '鳳姐';protected $sex = '男+女';private $age = 23;     //定義一個公共方法public function publickfun(){echo 'FinalClass類中self::$a->'.self::$a."<hr>";echo "FinalClass類中self::A->".self::A."<hr>";echo '大家好,我叫:'.$this->name."<hr>";echo '我是:'.$this->sex.'生<hr>';echo '我今年:'.$this->age.'<hr>';} //定義一個受保護的方法protected function protectedfun(){echo 'FinalClass類中self::$a->'.self::$a."<hr>";echo "FinalClass類中self::A->".self::A."<hr>";echo '大家好,我叫:'.$this->name."<hr>";echo '我是:'.$this->sex.'生<hr>';echo '我今年:'.$this->age.'<hr>';}    //定義一個私用方法private function privatefun(){echo 'FinalClass類中self::$a->'.self::$a."<hr>";echo "FinalClass類中self::A->".self::A."<hr>";echo '大家好,我叫:'.$this->name."<hr>";echo '我是:'.$this->sex.'生<hr>';echo '我今年:'.$this->age.'<hr>';}}class ChildFinalClass extends FinalClass{public function fchildfun(){echo 'ChildFinalClass類中ChildFinalClass::$a->'.ChildFinalClass::$a."<hr>"; Echo 'ChildFinalClass類中ChildFinalClass::A->'.ChildFinalClass::A."<hr>"; echo '我是:'.$this->sex.'生<hr>'; echo '我今年:'.$this->age.'<hr>';   //由于age是私有的成員屬性,可以理解為我不想讓別人知道我的年齡,所以在這里將不會被調用,將提示沒有定義此屬性在ChildFinalClass類中。 $this->publickfun(); $this->protectedfun(); $this->privatefun();            //由于privatefun是私有的成員方法,所以在這里將不會被調用。}}$obj = new ChildFinalClass();$obj->fchildfun();


2.魔術方法

i. 魔術方法必須被定義為公共的,所有其他魔術方法都必須如此

ii. 從PHP 5以后的版本,PHP中的類就可以使用魔術方法了。其規定以兩個下劃線()開頭的方法都保留為魔術方法,所以建議大家函數名最好不用開頭,除非是為了重載已有的魔術方法,接下來列出一些魔術方法,如果大家想詳細了解可以針對某一個進行查詢了解,這里就不大篇幅的介紹了。

1、construct() 構造方法

destruct()

析構方法

2、clone()

如果想復制一個對象則需要使用clone方法

3、toString()

方法在將一個對象轉化成字符串時自動調用,比如使用echo打印對象時

4、sleep() 串行化的時候用

wakeup 反串行化的時候調用

5、 set_state()

當調用var_export()時,這個靜態 方法會被調用(自PHP 5.1.0起有效)

6、invoke(PHP 5.3.0以上版本有效)
當嘗試以調用函數的方式調用一個對象時,invoke 方法會被自動調用。

7、callStatic(PHP 5.3.0以上版本有效) 是為了處理靜態方法調用

8、get() 當調用一個未定義的屬性時,此方法會被觸發,傳遞的參數是被訪問的屬性名。

set() 給一個未定義的屬性賦值時,此方法會被觸發,傳遞的參數是被設置的屬性名和值。 這里的沒有聲明包括當使用對象調用時,訪問控制為proteced,private的屬性(即沒有權限訪問的屬性)。

9、isset() 當在一個未定義的屬性上調用isset()函數時調用此方法

unset() 當在一個未定義的屬性上調用unset()函數時調用此方法

10、call( $method, $arg_array )
當調用一個未定義的方法是調用此方法

這里的未定義的方法包括沒有權限訪問的方法;如果方法不存在就去父類中找這個方法,如果父類中也不存在就去調用本類的call()方法,如果本類中不存在call()方法就去找父類中的call()方法。

11、autoload() 自動加載魔術方法

以上就是什么是php類?php類的屬性詳解的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美日韩免费看aⅴ视频| www.国产精品一二区| 亚洲成人久久电影| 亚洲日本中文字幕免费在线不卡| 久久理论片午夜琪琪电影网| 国产欧美亚洲视频| 午夜精品久久久久久久久久久久久| 91久久中文字幕| 国产精品大片wwwwww| 日韩有码片在线观看| 久久综合国产精品台湾中文娱乐网| 日韩美女av在线免费观看| 中文字幕久精品免费视频| 蜜臀久久99精品久久久久久宅男| 欧美激情视频在线免费观看 欧美视频免费一| 欧美午夜片在线免费观看| 欧美一区第一页| 最近免费中文字幕视频2019| 国产亚洲精品激情久久| 国产亚洲欧美另类中文| 精品精品国产国产自在线| 色噜噜狠狠狠综合曰曰曰| 美女久久久久久久| 国产日韩欧美在线看| 国产亚洲精品一区二区| 中文字幕日韩精品有码视频| 亚洲网站在线播放| 精品久久久一区二区| 欧美大片免费看| 欧美放荡办公室videos4k| 国产精品十八以下禁看| 日韩精品一区二区三区第95| 久久亚洲精品国产亚洲老地址| 国产视频精品va久久久久久| 国产精品久久久久久五月尺| 国产精品福利久久久| 亚洲国产精品专区久久| 欧美性猛交xxxx乱大交极品| 日韩欧美精品中文字幕| 91av在线播放| 国产精品主播视频| 欧美亚洲第一页| 久久综合国产精品台湾中文娱乐网| 国产91色在线免费| 国产亚洲日本欧美韩国| 久久99国产综合精品女同| 狠狠色狠色综合曰曰| 日韩av影片在线观看| 久久精品视频导航| 日韩在线视频网| 日韩精品一区二区三区第95| 亚洲片国产一区一级在线观看| 亚洲性猛交xxxxwww| 欧美色视频日本高清在线观看| 欧美激情一区二区久久久| 国产91色在线播放| 国产精品视频久久久| 日韩在线观看视频免费| 欧美日韩午夜视频在线观看| 久久在线免费观看视频| 欧美国产视频一区二区| 精品久久久免费| 国产ts一区二区| 日韩欧美在线观看| 欧美国产一区二区三区| 亚洲人在线观看| 日韩有码片在线观看| 欧美日韩国产色视频| 久久久久久久一| 国产精品美女免费看| 欧美日韩亚洲国产一区| 欧美成人黑人xx视频免费观看| 欧美一级黄色网| 久久精品免费播放| 亚洲免费av电影| 狠狠色狠色综合曰曰| 亚洲一区二区三区四区在线播放| 欧美黑人xxxⅹ高潮交| 亚洲成人激情图| 日韩在线一区二区三区免费视频| 日本免费久久高清视频| 久久久久亚洲精品| 欧美乱人伦中文字幕在线| 亚洲一区二区三| 奇米成人av国产一区二区三区| 俺去啦;欧美日韩| 精品亚洲一区二区三区在线观看| 日本欧美一二三区| 在线免费看av不卡| 九色91av视频| 国产精彩精品视频| 日韩久久免费视频| 国产激情999| 国自产精品手机在线观看视频| 国产精品成人av在线| 97精品视频在线观看| 亚洲女人天堂网| 国产91|九色| 亚洲欧美一区二区三区四区| 欧美电影在线观看完整版| 一区二区中文字幕| 欧美成人三级视频网站| 精品一区二区三区电影| 国产成人在线亚洲欧美| 欧美高清激情视频| 亚洲美女性视频| 日韩在线中文视频| 最新国产精品亚洲| 自拍视频国产精品| 国产精品成熟老女人| 国内精品视频久久| 中文字幕日韩av综合精品| 久久香蕉国产线看观看网| 日韩中文字幕视频在线| 久久久久久久久久久人体| 姬川优奈aav一区二区| 亚洲欧洲日产国产网站| 精品久久久久久中文字幕大豆网| 亚洲国产成人爱av在线播放| 777午夜精品福利在线观看| 成人激情电影一区二区| 欧美另类69精品久久久久9999| 精品中文视频在线| 久久成年人视频| 国产精品吊钟奶在线| 韩国三级电影久久久久久| 亚洲精品一区二区在线| 国产精品亚洲网站| 国产日韩欧美在线观看| 国产精品久久久久77777| zzjj国产精品一区二区| 久久中文字幕视频| 亚洲一级黄色片| 韩日精品中文字幕| 国产日韩专区在线| 成人网在线视频| 色噜噜国产精品视频一区二区| 精品美女永久免费视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲国产精品va在看黑人| 人体精品一二三区| 色婷婷久久一区二区| 国产日韩一区在线| 美日韩精品视频免费看| 欧美午夜片欧美片在线观看| 欧洲亚洲在线视频| 亚洲在线免费看| 国产欧美在线视频| 日本精品久久久久影院| 日韩av男人的天堂| 最新69国产成人精品视频免费| 日韩av中文字幕在线| 国产精品自拍小视频| 亚洲美女性生活视频| 性金发美女69hd大尺寸| 亚洲韩国青草视频| 国产高清视频一区三区| 国产精品成人v| 欧美成人全部免费| 欧美激情亚洲自拍| 欧美男插女视频| 亚洲一区二区三区视频| 69影院欧美专区视频| 欧洲亚洲在线视频|