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

php基礎(chǔ)知識:類與對象(5) static

Declaring class members or methods as static makes them accessible without needing an instantiation of the class. A member declared as static can not be accessed with an instantiated class object (though a static method can). 
聲明靜態(tài)的類變量和方法可以不需要實例化類對象的情況下對他們進(jìn)行調(diào)用。靜態(tài)類不能被類對象調(diào)用。(類的靜態(tài)方法可以)。//注意看第一個例子,在一個非靜態(tài)的方法中調(diào)用了靜態(tài)的變量。唯一的不同是用了self。難道用了self就可以????不知道???需要一個試驗。

The static declaration must be after the visibility declaration. For compatibility with php4, if no visibility declaration is used, then the member or method will be treated as if it was declared as public. 
靜態(tài)聲明必須必須是顯式的聲明。為了兼容php4,如果沒有顯式聲明的對象或者方法,被當(dāng)作聲明為public。

Because static methods are callable without an instance of the object created, the pseudo variable $this is not available inside the method declared as static. 
因為靜態(tài)方法不需要實例化類對象來調(diào)用,所以偽變量$this在靜態(tài)方法中也是不可用的。 

In fact static method calls are resolved at compile time. When using an explicit class name the method is already identified completely and no inheritance rules apply. If the call is done by self then self is translated to the current class, that is the class the code belongs to. Here also no inheritance rules apply. 
實際上,靜態(tài)的方法調(diào)用在編譯時已經(jīng)確定了。(這段我不會翻譯。???不明白???)
求了很久求來的翻譯如下:
------------------------------------------------
實際上,靜態(tài)方法的調(diào)用在編譯時解決。當(dāng)使用一個明確的類名時,方法已經(jīng)被完全識別而不需要應(yīng)用繼承規(guī)則。如果由自身調(diào)用,那么自身被解析成當(dāng)前的類,也就是代碼所屬的類。這里也沒有應(yīng)用繼承規(guī)則。
但是一個新的問題:
這里不一定有繼承產(chǎn)生,為什么會提到繼承規(guī)則?(???不明白????)

Static properties cannot be accessed through the object using the arrow operator ->. Calling non-static methods statically generates an E_STRICT level warning. 
靜態(tài)成員不能被類的對象通過箭頭符號->來調(diào)用。靜態(tài)的調(diào)用一個非靜態(tài)方法會導(dǎo)致一個E_STRICT級別的警告。

靜態(tài)成員例:
復(fù)制代碼 代碼如下:class Foo 

   public static $my_static = 'foo';  
   public function staticValue() { 
       return self::$my_static;//注意這里!!!! 
       //return $my_static;//這樣寫會不會出錯。需要試驗 
   } 


class Bar extends Foo 

   public function fooStatic() { 
       return parent::$my_static;//注意這里!!!! 
   } 

print Foo::$my_static . " n"; 
$foo = new Foo(); 
print $foo->staticValue() . " n"; 
print $foo->my_static . " n";      // 未定義的"Property" my_static  
// $foo::my_static is not possible 
print Bar::$my_static . " n"; 
$bar = new Bar(); 
print $bar->fooStatic() . " n"; 

靜態(tài)方法例: 
class Foo { 
   public static function aStaticMethod() { 
       // ... 
   } 

Foo::aStaticMethod(); 

php技術(shù)php基礎(chǔ)知識:類與對象(5) static,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 长治县| 杭锦后旗| SHOW| 隆昌县| 上高县| 长武县| 皋兰县| 车险| 金秀| 通化县| 宜州市| 宝山区| 汕头市| 即墨市| 海原县| 舞阳县| 凤城市| 溧水县| 浦县| 新安县| 楚雄市| 陈巴尔虎旗| 浦东新区| 荣成市| 襄樊市| 洞口县| 扶绥县| 文山县| 泸水县| 宁国市| 新闻| 潍坊市| 怀柔区| 大埔区| 漳州市| 桃园市| 宜章县| 澎湖县| 寻甸| 图木舒克市| 罗山县|