スコープを設定する

いよいよ最後です。最後はスコープの変え方です。
スコープとは、クラス内へのアクセスを制御するためのもので、クラスの外からのアクセスを防ぐことが出来ます。

スコープの設定

今まではあえてつけていませんが、何もしない状態では、publicの状態になっています。
「public」はパブリックと読み、クラス内、クラス外の両方からのアクセスを許可するスコープです。
いままで宣言してきたメソッドやフィールドは、すべてpublicになっています。

他に、スコープは「private」と「protected」があります。
「private(プライベート)」は、そのクラス内のみで有効なスコープになります。
つまり、外部からのアクセスはもちろん、継承後のクラスからも参照できなくなります。

スコープ
1
2
3
4
5
6
7
8
9
10
class CSample(){
  private: //プライベートにする
    field Name;
  public: //パブリック
    constructor Create; //コンストラクタは必ずパブリックで
}

constructor CSample.Create(){
  Name = "CSample";
}
こうすることで、Nameにアクセスすることが出来なくなります。
アクセスできない
1
2
3
4
5
6
7
8
9
10
11
12
13
class CSample(){
  private:
    field Name;
  public:
    constructor Create;
}

constructor CSample.Create(){
  Name = "CSample";
}

Obj = CSample.Create;
Mes(Obj.Name); //エラー
もう一つの「protected(プロテクティド)」は、外部からの参照は禁止しますが、継承後のクラスからは参照することが出来ます。
つまり、継承後のクラスに何か処理をして欲しいときに使うスコープです。
CControlクラスのTextなどがその例です。
前へ / index / 次へ
プログラム言語「Spinel
Copyright © 2005 - Giemsa All Rights Reserved.
NOTES Software.