2013-05-11 22 views
1

正確的術語既指$instance_variable也指$class_variable而不是指$method_variable是否有一個術語既指類和實例變量,又指方法中定義的變量?

class { 
    public $instance_variable; 
    static $class_variable; 
    function do_something() { 
     $method_variable; 
    } 
} 

class scope variables是否有意義?

+0

我沒有一個術語,我知道這意味着兩個。 「類作用域」對我來說沒有意義,但因爲類的範圍是整個程序,所以我將排除類實例變量 – greedybuddha 2013-05-11 14:42:15

+1

也許僅僅「屬性」就足夠了;這將排除方法局部變量,但包括實例和靜態。但請注意,由於靜態變量和實例變量存在巨大的語義差異,我不認爲人們會經常引用它們。 – Dan 2013-05-11 14:49:48

+0

@Bracketworks,聽起來不錯。你應該寫這個答案。 – 2013-05-11 14:52:38

回答

2

因爲PHP缺少其他地方定義的屬性的概念(C#),所以我將它們稱爲「屬性」。

編輯,而且性能是PHP手冊定義這個術語:

屬性

類成員變量被稱爲 「屬性」。您也可以使用其他術語(如「屬性」或「字段」)來查看它們,但出於此參考的目的,我們將使用「屬性」。它們是通過使用關鍵字public,protected或private之一來定義的,後面跟着一個正常的變量聲明。這個聲明可能包括一個初始化,但是這個初始化必須是一個常量值 - 也就是說,它必須能夠在編譯時進行評估,並且不能依賴運行時信息來進行評估。

該文檔繼續在此定義中包含static聲明。

此外,「領域」或更一般的「成員」可能就足夠了,雖然成員通常包括方法定義和其他結構不完全的存儲。

從MSDN上的C#(我知道這個被標記PHP,但...

類和結構有代表他們的數據和行爲的成員。這些成員包括:

Fields (C# Programming Guide)字段是被視爲類的一部分的對象的實例,通常持有類數據。例如,日曆類可能有一個包含當前日期的字段。

Properties (C# Programming Guide)屬性是類上的方法,它們就像是它們在該類上的字段一樣被訪問。屬性可以爲類字段提供保護,以防止在沒有對象知識的情況下更改它。

相關問題