眾所周知,oop的目的就是了把乙個次編寫**,複製複製再複製,繼承繼承再繼承的合理利用每一次的工作,同時也方便**管理。哪個環節出錯了就去找哪個環節。但是有時候我們寫的類,最終發現它只使用了一次,並沒有生成多個的例項。這個時候再去new, 不僅影響效率,**也顯得不夠簡潔。
所以非常感性的php,為我們提供了一種便捷高效的方法 static 有了它以後這些統統不再是問題。
class hw
} echo hw::hi();
view plaincopy to clipboardprint?
class hw
} echo hw::hi();
從上面的例子可以看出了,使用了static和不使用static屬性以後可以直接使用::方法從外面直接呼叫,但是為了效率和其他方面因素,還是建議使用static 來限制。
static 類內部呼叫方法
class foo
public static function a()
} foo::a();
使用了static 關鍵字來限制方法是必須使用self:: 在本類內部引用,上面的例子已經將的很清楚了。
static 屬性
view plaincopy to clipboardprint?
class foo
} foo::a();
echo foo::$a;
我們同樣可以使用static關鍵字來限制變數 這個時候變數不會一直保持上一次負值時候的值。
static 繼承與使用
view plaincopy to clipboardprint?
class foo
} class oo extends foo
} oo::a();
static 的繼承和普通類的繼承方法一樣,並沒有太大的區別。
view plaincopy to clipboardprint?
class foo
} class oo extends foo
} oo::aa();
只是使用的時候有寫區別,必須是parent::方法來引用父類的方法,並不能直接self::來使用父類的方法,如下例子,則不會顯示任何值:
view plaincopy to clipboardprint?
class foo
} class oo extends foo
} oo::a();
再乙個簡單的例子
view plaincopy to clipboardprint?
<?php
class status
?>
<?php
$exstatus = status::$ice;
if ($exstatus == status::$ice)
echo "ice";
else
echo "water";
?>
static之物件導向
一 靜態資料成員子 includeusing namespace std class point int point num 0 定義靜態資料成員 int main 對於類的非靜態資料成員,每個類物件都有自己的拷貝。而對於靜態資料成員被當作是類的成員。就像上述例子中,雖然定義了4個物件,但是靜態資料...
物件導向 static 十四
1.static關鍵字及記憶體圖 class demo1 static class person 建立物件記憶體圖 2.static關鍵字的特點 a static關鍵字的特點 a 隨著類的載入而載入 b 優先於物件存在 c 被類的所有物件共享 舉例 咱們班級的學生應該共用同乙個班級編號。其實這個特點...
Java物件導向 static
static 靜態的 屬於物件的屬性和方法是動態的,相反屬於類的就是靜態的。靜態的用途 修飾類的成員變數,稱為靜態變數,靜態變數是屬於類的變數,可以使用 類名.變數名 訪問,在類的內部可以省略類名。靜態變數只有乙份,可以被全體物件共享!軟體中只有乙份的資料應該使用static修飾。靜態變數在類載入期...