何故かアルゴリズム 7 InstanceなVariable 「EachLanguage_Program_4」
宣言&定義をした物(識別子という)ですが、普通の形(前の回の例)で宣言していると(Prologを抜く)それには「実体」というのが存在しています。
実体というのは、そのプログラムをパソコン等で使うときに、パソコンのメモリの一部を確保(記憶)して置くものです。簡単に言うと、プログラム内で定義したものの内容なのです。(実体は「インスタンス(Instance)」とも言う)
宣言や定義は色々なもので出来ますが、その中で「変数(Variable)」という種類があります。
変数とは、先ほど言った実体を格納しておく"容器"のようなものです。(実際には、実体の記憶場所のこと)
つまり、変数という容器に実体という中身を入れているのです。
変数などでは宣言するときに、「修飾子」というものを付けることが出来ます。修飾子とは、宣言した識別子の"性質"を表せるものです。識別子に性質を"修飾"しているのですね。
修飾子は、宣言できる識別子によって種類が異なります。といっても、同じものをよく使うのであまり考えなくてもいいです。
次に、修飾子の例をあげます。今回は説明した変数の修飾子にします。
- public ...「公共の~」※
- protected ...「保護された~」※
- private ...「私的な~」※
- static ...「静的な~」
- final ...「最終の~」
- transient ...「一時的な~」
- volatile ...「揮発的な~(変わりやすい)」
などなど
※マークの付いた上の3つは、修飾子の中でも特に「アクセス修飾子」という特殊な物で、識別子のアクセスを制限するものになります。アクセスは、クラスなどの説明の時に一緒に説明します。
修飾子は、必要な言語と必要ない言語があります。なので、とりあえずコード例を出します。
コードは、「hensuという名の、公共的で、静的な変数を宣言して、15という実体を入れる」ものにします。
BASIC
10 LET hensu = 15
C
public static int hensu = 15;
C#
public static int hensu = 15;
Go
var hensu int = 15
Java
public static int = 15;
Perl
int $hensu; $hensu = 15;
Prolog
nanika(hensu,15).
Python
hensu = 15
Ruby
hensu = 15