色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP類的靜態(static)方法和靜態(static)變量使用介紹

php中,訪問類的方法/變量有兩種方法:
1. 創建對象$object = new Class(),然后使用”->”調用:$object->attribute/function,前提是該變量/方法可訪問。
2. 直接調用類方法/變量:class::attribute/function,無論是靜態/非靜態都可以。但是有前提條件:
A. 如果是變量,需要該變量可訪問。
B. 如果是方法,除了該方法可訪問外,還需要滿足:
b1) 如果是靜態方法,沒有特殊條件;
b2) 如果是非靜態方法,需要改方法中沒有使用$this,即沒有調用非靜態的變量/方法,當然,調用靜態的變量/方法沒有問題。

然后我們再看一下使用$object->… 和使用class::… 都有什么區別:
1. 使用$object->… ,需要執行構造函數創建對象;
2. 使用class::… 調用靜態方法/變量,不需要執行構造函數創建對象;
3. 使用class::… 調用非靜態方法/變量,也不需要執行構造函數創建對象。

然后奇怪的地方就出來了,既然2和3都一樣,那靜態方法/變量存在還有什么意義呢?
差異還是顯然存在的,如下:
1. 靜態變量
靜態成員只保留一個變量值,而這個變量值對所有的實例都是有效,也就是說,所有的實例共享這個成員。
2. 靜態方法
靜態方法可以直接使用class::… 來調用,而非靜態方法需要滿足一定限制條件才能使用class::.. 的方法調用,如之前所述

php技術PHP類的靜態(static)方法和靜態(static)變量使用介紹,轉載需保留來源!

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

主站蜘蛛池模板: 偏关县| 西丰县| 广元市| 吐鲁番市| 赣州市| 黄大仙区| 成都市| 安塞县| 正宁县| 呼伦贝尔市| 木里| 三亚市| 平江县| 德州市| 盐池县| 大埔县| 安图县| 湘潭市| 毕节市| 乾安县| 双流县| 津市市| 神农架林区| 新乡县| 京山县| 北京市| 哈密市| 墨玉县| 团风县| 新闻| 黎城县| 渝中区| 阳西县| 高陵县| 鄢陵县| 长葛市| 安龙县| 濮阳县| 庐江县| 洞口县| 焦作市|