「スコープ (プログラミング)」の版間の差分
削除された内容 追加された内容
+lk |
|||
13行目:
=== 名前空間からの分類 ===
; 大域スコープ (global scope)
: プログラムの「全体」から見えるスコープのこと。このスコープに属する変数は、[[グローバル変数]]または大域変数といわれる。[[BASIC]]のような単純な言語では大域スコープしか存在しない場合がある。[[Python]]のような
:
; ファイルスコープ (file scope)
19行目:
:
; 局所スコープ (local scope)
: ある関数やブロックの範囲内に限定されたスコープのこと。このスコープに属する変数は、[[ローカル変数]]と呼ばれる。何を持って範囲を与えるかは言語により様々だが、一般に[[ネスティング|入れ子]]のローカルスコープは外側を参照できるのが普通である。このとき兄弟関係にあるスコープは見えない。変数宣言が必要な言語の場合は宣言文以降にスコープが制限される場合が多い。
:
; インスタンススコープ (instance scope)
: クラスベースの[[オブジェクト指向言語]]で、各インスタンス毎に割り当てられた変数が所属メソッド
:
; クラススコープ (class scope)
: クラスベースのオブジェクト指向言語で、あるクラスの定義全体から参照できるスコープ。このスコープに属する変数は、[[クラス変数]]と呼ばれる。インスタンススコープと異なり変数が共有されるので、ある種の制限された大域スコープと考えることができる。クラススコープをもたない言語の場合でも、ファイルスコープを用いることで同様の機構を実現できる場合がある。ある特定のクラスだけなのか、派生クラスまでも含むのかによってそれぞれクラスインスタンススコープ/クラススコープとさらに細分化する。
=== スコープ導入からの分類 ===
|