staticについて オマケの話です。 メソッド、フィールド、プロパティには、「static(スタティック)」という状態があります。 一体なんなのかというと、クラスから直接参照できるメソッド等のことを言います。 static宣言 static宣言、つまりstaticなメソッドなどを宣言するときは、 「function」「field」「property」の前に「static」をつけます。
static宣言
    1
    2
    3
    4
    5
    6
    7
    class CSample(){
      static function Speak(Text); //static宣言
    }

    function CSample.Speak(Text){
      Mes(Text);
    }
こう宣言します。 使う際は、以下のどちらでも呼び出せます。
呼び出し
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class CSample(){
      static function Speak(Text); //static宣言
    }

    function CSample.Speak(Text){
      Mes(Text);
    }

    CSample.Speak("Hello!"); //クラスから

    Obj = CSample.Create;
    Obj.Speak("Hello!"); //インスタンスから
static宣言されたメソッド等は、「クラス名.」で呼び出すことが出来ます。 CProcess.Startもその例です。 ただし、このように使えるということは、変化するものがあってはならないということです。 つまり、フィールドが入っている場合は使うのは難しい、ということです。 また、メソッドが入るのはかまいませんが、そのメソッド内でフィールドを使っている場合もstaticにすることは難しいです。

前へ / index
プログラム言語「Spinel」
Copyright © 2005 - gabyou All Rights Reserved.
NOTES Software.