類的方法作用域

2021-07-12 00:56:13 字數 1210 閱讀 9136

php支援6種作用域:public、private、protected、abstract、final 和 static。

公共方法可以在任何位置任何時間訪問。在方法前面加上關鍵字public,或不加任何關鍵字,都可以宣告乙個公共方法。

標記為private的方法只能在類的內部使用,不能由例項化的物件呼叫,也不能由類的子類使用。

如果某些方法只用作為類中其他方法的「助手」(即輔助方法),就應當標記為私有。

從例項化的物件中呼叫此方法將導致致命的錯誤。

標記為protected的方法只能在該類以及其子類中使用。

這些方法可用來幫助類或子類完成內部計算。

例如,在獲取某個員工資訊之前,可能希望驗證員工身份證號(ein),它將作為引數傳遞到類的例項化方法(即建構函式)中。我們使用verifyein()方法驗證此ein在語法上是否正確。因為這個方法只能用於類中的其他方法,對於派生自employee的類也可能有用,所以應當宣告為protected:

<?php  

class employee

} protected function verifyein($ein)

} $employee = new employee("13456789");

?>

試圖從類外部呼叫verifyein()將導致致命錯誤,因為該方法具有保護作用域。

abstract方法很特殊,只在父類中宣告,但在子類中實現。

只有宣告abstract的類才可以宣告抽象方法。

如果想定義乙個應用程式介面(api),以後將它作為實現乙個模型,就可以宣告乙個抽象方法。

開發人員會知道,如果能滿足抽象方法定義的所有需求,那麼他為該方法開發的特定實現應該能正常工作。

抽象方法宣告如下:

abstract function methodname();

假設要建立乙個抽象employee類,它要作為其他一些員工型別(經理、職員、出納等)的基類:

<?php  

abstract class employee

?>

然後,各個員工類(如經理、職員和出納)再分別擴充套件這個類。

標記為final的方法可以防止被子類覆蓋。宣告方法如下:

<?php  

class employee

}?>

以後如果試圖覆蓋final方法將導致致命的錯誤。

類的作用域

更多c 類的基本概念 每個類都會定義它自己的作用域。在類的作用域外,普通的資料和函式成員只能由物件 引用或者指標使用成員訪問運算子來訪問。對於類型別成員則使用作用域運算子訪問。不論哪種情況,跟在運算子之後的名字都必須是對應類的成員。作用域和定義在類外部的成員 乙個類就是乙個作用域很好地解釋為什麼當我...

C C 類的作用域

c 語言中允許宣告全域性變數,並且類成員的實現是在類的外部,因此經常會遇到作用域的問題。這裡簡單列出來平時遇到的一些問題。一 類成員函式定義中的引數 乙個簡單的例子 1 2 3 4 5 6 7 8 9 10 11 12 13 classt voidt setvalue num num 其中,num是...

(44)類的作用域

每個類都會定義自己的作用域。在類的作用域之外,普通的資料和函式成員只能由物件 引用或者指標使用成員訪問運算子來訪問。一旦遇到了類名,定義的剩餘部分就在類的作用域之內了,這裡的剩餘部分包括引數列表和函式體。結果就是,我們可以直接使用類 的其他成員而無需再次授權了。另一方面,函式的返回型別通常出現在函式...