中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

淺析php靜態方法與非靜態方法的用法區別
來源:易賢網 閱讀:1252 次 日期:2016-08-22 14:26:50
溫馨提示:易賢網小編為您整理了“淺析php靜態方法與非靜態方法的用法區別”,方便廣大網友查閱!

在php編程中,static關鍵字聲明一個屬性或方法是和類相關的,而不是和類的某個特定的實例相關,因此,這類屬性或方法也稱為“類屬性”或“類方法”

如果訪問控制權限允許,可不必創建該類對象而直接使用類名加兩個冒號“::”調用。

static關鍵字可以用來修飾變量、方法。

不經過實例化,就可以直接訪問類中static的屬性和static的方法。

static 的屬性和方法,只能訪問static的屬性和方法,不能類訪問非靜態的屬性和方法。因為靜態屬性和方法被創建時,可能還沒有任何這個類的實例可以被調用。

static的屬性,在內存中只有一份,為所有的實例共用。

使用self:: 關鍵字訪問當前類的靜態成員。

一個類的所有實例,共用類中的靜態屬性。

即在內存中即使有多個實例,靜態的屬性也只有一份。

例子,設置了一個計數器$count屬性,設置private 和 static 修飾。

這樣,外界并不能直接訪問$count屬性。而程序運行的結果也看到多個實例在使用同一個靜態的$count 屬性。

<?php  

class user 

{  

 private static $count = 0 ; //記錄所有用戶的登錄情況.  

 public function __construct() {  

  self::$count = self::$count + 1;  

 }  

 public function getcount() {  

  return self::$count;  

 }  

 public function __destruct() {  

  self::$count = self::$count - 1;  

 }  

}  

$user1 = new user();  

$user2 = new user();  

$user3 = new user();  

echo "now here have " . $user1->getcount() . " user";  

echo "<br />";  

unset($user3);  

echo "now here have " . $user1->getcount() . " user";  

?>

二,靜態屬性直接調用

靜態屬性不需要實例化就可以直接使用,在類還沒有創建時就可以直接使用。

使用方式:

類名:: 靜態屬性名

<?php  

class math 

{  

 public static $pi = 3.14;  

}  

// 求一個半徑3的園的面積。  

$r = 3;  

echo "半徑是 $r 的面積是<br />";  

echo math::$pi * $r * $r;  

echo "<br /><br />";  

//這里我覺得 3.14 不夠精確,我把它設置的更精確。  

math::$pi = 3.141592653589793;  

echo "半徑是 $r 的面積是<br />";  

echo math::$pi * $r * $r;  

?>

類沒有創建,靜態屬性就可以直接使用。那靜態屬性在什么時候在內存中被創建?

在php中沒有看到相關的資料。

引用java中的概念,來解釋應該也具有通用性。靜態屬性和方法,在類被調用時創建。

三,靜態方法

靜態方法不需要所在類被實例化就可以直接使用。

使用的方式是類名::靜態方法名

繼續寫這個math類,用來進行數學計算。

設計一個方法用來算出其中的最大值。既然是數學運算,也沒有必要去實例化這個類,如果這個方法可以拿過來就用就方便多了。

這只是為了演示static方法而設計的這個類。在php提供了 max() 函數比較數值。

<?php  

class math 

{  

 public static function max($num1, $num2) {  

  return $num1 > $num2 ? $num1 : $num2;  

 }   

}  

$a = 99;  

$b = 88;  

echo "顯示 $a 和 $b 中的最大值是";  

echo "<br />";  

echo math::max($a, $b);  

echo "<br />"; 

echo "<br />"; 

echo "<br />";  

$a = 99;  

$b = 100;  

echo "顯示 $a 和 $b 中的最大值是";  

echo "<br />";  

echo math::max($a,$b);  

?>

靜態方法如何調用靜態方法

第一個例子,一個靜態方法調用其它靜態方法時,使用self:: 

<?php  

// 實現最大值比較的math類。  

class math 

{  

 public static function max($num1, $num2) {  

  return $num1 > $num2 ? $num1 : $num2;  

 }  

 public static function max3($num1, $num2, $num3) {  

  $num1 = self::max($num1, $num2);  

  $num2 = self::max($num2, $num3);  

  $num1 = self::max($num1, $num2);    

  return $num1;  

 }  

}  

$a = 99;  

$b = 77;  

$c = 88;  

echo "顯示 $a $b $c 中的最大值是";  

echo "<br />";  

echo math::max3($a, $b, $c);  

?>

 靜態方法調用靜態屬性

使用self:: 調用本類的靜態屬性。

<?php  

//  

class circle 

{  

 public static $pi = 3.14;  

 public static function circleacreage($r) {  

  return $r * $r * self::$pi;  

 }  

}  

$r = 3;  

echo " 半徑 $r 的圓的面積是 " . circle::circleacreage($r);  

?>

靜態方法不能調用非靜態屬性 。不能使用self::調用非靜態屬性。 

<?php  

// 這個方式是錯誤的  

class circle 

{  

 public $pi = 3.14;  

 public static function circleacreage($r) {  

  return $r * $r * self::pi;  

 }  

}  

$r = 3;  

echo " 半徑 $r 的圓的面積是 " . circle::circleacreage($r);  

?>

也不能使用 $this 獲取非靜態屬性的值。

靜態方法調用非靜態方法

php5中,在靜態方法中不能使用 $this 標識調用非靜態方法。

<?php 

// 實現最大值比較的math類。  

class math 

{   

 public function max($num1, $num2) {  

  echo "bad<br />";    

  return $num1 > $num2 ? $num1 : $num2;  

 }  

 public static function max3($num1, $num2, $num3) {  

  $num1 = $this->max($num1, $num2);  

  $num2 = $this->max($num2, $num3);  

  $num1 = $this->max($num1, $num2);    

  return $num1;  

 }  

}  

$a = 99;  

$b = 77;  

$c = 188;  

echo "顯示 $a $b $c 中的最大值是";  

echo "<br />";  

echo math::max3($a, $b, $c); //同樣的這個會報錯 

?>

當一個類中有非靜態方法被self:: 調用時,系統會自動將這個方法轉換為靜態方法。

<?php  

// 實現最大值比較的math類。  

class math 

{   

 public function max($num1, $num2) {   

  return $num1 > $num2 ? $num1 : $num2;  

 }  

 public static function max3($num1, $num2, $num3) {  

  $num1 = self::max($num1, $num2);  

  $num2 = self::max($num2, $num3);  

  $num1 = self::max($num1, $num2);    

  return $num1;  

 }  

}  

$a = 99;  

$b = 77;  

$c = 188;  

echo "顯示 $a $b $c 中的最大值是";  

echo "<br />";  

echo math::max3($a, $b, $c);  

?>

以上這篇淺析php靜態方法與非靜態方法的用法區別就是小編分享給大家的全部內容了,希望能給大家一個參考

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美婷婷久久| 精品成人一区二区| 中国日韩欧美久久久久久久久| 激情视频一区| 亚洲三级色网| 亚洲网站在线看| 国产麻豆午夜三级精品| 91久久精品网| 欧美有码在线视频| 欧美四级电影网站| 日韩性生活视频| 国产欧美短视频| 国内精品亚洲| 欧美日本乱大交xxxxx| 亚洲自拍偷拍网址| 一区国产精品| 国模套图日韩精品一区二区| 午夜精品区一区二区三| 亚洲经典在线| 午夜在线精品偷拍| 亚洲一区二区三区四区视频| 在线观看的日韩av| 亚洲视频你懂的| 国产在线视频欧美| 国产专区精品视频| 亚洲黄色性网站| 国产精品久久久久影院色老大| 久久综合电影一区| 国产精品亚洲综合一区在线观看 | 国产日本欧洲亚洲| 欧美日韩三级视频| 亚洲人成毛片在线播放| 欧美一区国产一区| 亚洲性夜色噜噜噜7777| 99在线精品视频| 亚洲男人av电影| 久久久久欧美精品| 一本久久a久久免费精品不卡| 欧美日韩三级电影在线| 日韩视频在线免费| 亚洲欧美韩国| 日韩图片一区| 欧美/亚洲一区| 久久艳片www.17c.com| 亚洲精品乱码久久久久久久久 | 国产精品久久久久久av福利软件| 亚洲自拍偷拍麻豆| 激情综合五月天| 一区二区av在线| 亚洲欧美日韩一区在线观看| 国产在线精品二区| 亚洲免费视频在线观看| 亚洲高清一二三区| 亚洲成人原创| 亚洲最新色图| 国产视频一区在线观看| 久久成人精品| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产视频精品网| 国产女人aaa级久久久级| 午夜精品一区二区三区电影天堂| 亚洲小说欧美另类婷婷| 在线精品视频一区二区| 91久久精品国产91久久性色tv| 久久亚洲私人国产精品va| 欧美一级欧美一级在线播放| 性欧美精品高清| 欧美金8天国| 欧美在线三级| 亚洲免费在线观看视频| 欧美日韩黄色大片| 欧美日韩精品一区二区天天拍小说| 欧美激情一区在线观看| 国内精品美女av在线播放| 久久精品色图| 国产精品久久久久久久久久三级| 欧美激情精品久久久久久蜜臀 | 亚洲一区二区三区四区五区午夜| 国产精品一区在线观看| 亚洲久久在线| 国产精品国产精品| 欧美日韩国产电影| 亚洲专区一区| 亚洲国产mv| 在线色欧美三级视频| 精品动漫3d一区二区三区免费| 中文国产成人精品| 欧美三级资源在线| 国产精品成人一区| 一区二区三区在线视频免费观看| 免费观看在线综合色| 国产精品一级二级三级| 欧美经典一区二区三区| 国产精品无码永久免费888| 91久久极品少妇xxxxⅹ软件| 欧美黄色小视频| 久久精品在线免费观看| 精品电影在线观看| 亚洲国产日韩欧美综合久久 | 亚洲欧洲精品一区二区三区| 国产日韩精品一区二区三区在线| 久热精品在线视频| 日韩小视频在线观看| 欧美精品免费在线观看| 蜜臀av性久久久久蜜臀aⅴ| 国产麻豆视频精品| 久久久在线视频| 亚洲国产欧美不卡在线观看| 亚洲免费黄色| 亚洲视频在线观看视频| 欧美激情一区在线| 欧美精品三级在线观看| 欧美电影美腿模特1979在线看| 欧美国产亚洲精品久久久8v| 欧美全黄视频| 久久久久国产精品厨房| 欧美视频一区二区三区四区| 亚洲另类春色国产| 国产一区二区三区四区| 久久天堂国产精品| 国产欧美精品一区| 欧美一级片一区| 一区二区三区成人| 免费观看一区| 在线欧美不卡| 免费看av成人| 欧美一区二区网站| 亚洲免费影视| 亚洲欧洲一区二区三区| 国产精品大全| 欧美一区二区三区视频在线 | 久久中文欧美| 亚洲一品av免费观看| 欧美午夜在线| 国产精品视频内| 精品动漫一区二区| 欧美区视频在线观看| 亚洲精品美女在线| 欧美午夜视频网站| 亚洲免费综合| 久久亚洲精品欧美| 免费久久精品视频| 国产欧美在线看| 亚洲人成亚洲人成在线观看图片| 亚洲欧美日韩精品一区二区| 亚洲精品免费观看| 国产精品久久久久久五月尺| 亚洲黄色视屏| 麻豆精品网站| 欧美久久电影| 久久精品国产清自在天天线| 欧美人与禽猛交乱配视频| 国产精品美女久久久久久2018 | 免费一级欧美片在线观看| 宅男精品导航| 在线观看欧美日韩国产| 欧美精品一区二区三区久久久竹菊| 免费亚洲一区| 欧美视频一区二区三区…| 国产九色精品成人porny| 性8sex亚洲区入口| 美乳少妇欧美精品| 欧美日韩三级电影在线| 午夜国产精品视频| 欧美三日本三级三级在线播放| 欧美吻胸吃奶大尺度电影| 韩国精品主播一区二区在线观看| 一区二区三区毛片| 欧美日韩不卡一区| 亚洲国产mv| 91久久线看在观草草青青| 在线高清一区| 亚洲三级影片| 亚洲综合日韩在线| 久久亚洲国产精品一区二区 | 在线日韩中文| 久久国产视频网| 亚洲精品免费网站| 国产最新精品精品你懂的| 久久久一区二区| 国产精品国产a级| 亚洲精品在线观看免费| 亚洲激情视频网站| 娇妻被交换粗又大又硬视频欧美| 亚洲男人影院| 一区二区三区日韩精品| 欧美三级视频在线| 在线观看精品| 狠狠色丁香婷婷综合久久片| 久久香蕉国产线看观看av| 亚洲黄色高清| 亚洲高清在线视频| 久久久青草青青国产亚洲免观| 欧美日韩中国免费专区在线看| 亚洲国产日韩一区| 国产精品福利网| 麻豆av一区二区三区久久| aaa亚洲精品一二三区| 激情六月综合|