.NET Visual C#言語入門 > プログラム構造
のぶ亭『プログラミングの相談窓口』 … 様々なプログラミング問題を個別対応致します |
プログラム構造
C#のプログラム構造を下記に示しています。コンパイル&実行すると、まずMain()メソッドが実行されます(HalloWorldを参照)。
Main()メソッド内で、2つのクラスをインスタンス(実態)化し、各オブジェクトのメソッドを呼び出しています。このように、プログラムはMainメソッドで始まり、Mainメソッドが終了するとプログラムも終了します。これは、Windowsアプリケーションの場合も同じです。
Main
using System; namespace ProgrammingCS { class MainClass { static void Main() { Sub1Class sub1 = new Sub1Class(); Sub2Class sub2 = new Sub2Class(); //・・・ sub1.sub1Funf(); sub2.sub1Funf(); } } }
サブクラス1
using System; namespace ProgrammingCS { class Sub1Class { public sub1Funf() {...} public sub1Funf2() {...} public sub1Funf3() {...} //・・・ } }
サブクラス2
using System; namespace ProgrammingCS { class Sub2Class { public sub2Funf() {...} public sub2Funf2() {...} public sub3Funf3() {...} //・・・ } }
プログラムは、
- 複数のファイルで構成されます。
- 一つのファイルには、一つ以上のネームスペース(namespace)を定義することができます。
- ネームスペース(namespace)内には、クラス、構造体、インターフェース、デリゲート、列挙体、入れ子のネームスペース(namespace)を定義することができます(Skeleton参照)。
- プログラムを実行して最初に実行されるのがMain()関数です。
- プログラム内に一つだけ記述しなければなりません。
- Main関数は、クラス内に定義し、そのクラス名は自由に指定することができます。
- Main関数は、static宣言します。
- Main関数内に記述されているコードを順次実行し、最後の行の実行が完了するとプログラムを終了します。
一般的に、Main関数内でループ・ステートメントなどを用いて、一巡で終了しないプログラムを構築します。 - クラスは、newを使って動的にオブジェクトとして生成します。
-
プログラムの実行単位は、クラス・オブジェクトのメソッドやプロパティを呼び出すことで起動されます。その際、データを引数で渡すことができます。
呼び出したメソッドの実行結果を受け取ることもできます。 -
呼び出されたメソッドは、他のオブジェクトのメソッドを呼び出し、さらに呼び出されたメソッドは、他のオブジェクトのメソッドを呼び出す。という、複数のオブジェクトが、目的を達成するために連鎖的に実行
されます。
注)メソッド-メソッドの単純な連鎖ではありません。呼び出すメソッドは、オブジェクトの公開メンバーです。公開メソッドは、オブジェクト内で関連するメソッドを呼び出したりします。その際に、他のオブジェクトのメソッドを呼び出すこともあります。 - プログラムは、オブジェクトの連鎖を、公開メソッドを経由して行います(下図参照)。
図 プログラム構成イメージ
これから、プログラミングの実習を始めます。まず、プログラムの動作を理解して下さい。プログラミング言語の詳細が知りたい場合は、文法仕様を参照して下さい。動作に疑問を感じた場合、ほとんどの場合は理解不足です。実際の動きを見極め、資料を読み返して下さい。
プログラムの基本は、型と式とステートメントです。プログラミングの中心となる概念はオブジェクトです。なお、オブジェクト指向における継承やInterfaceなどは、クラスを構築する「実装」のための内部的な概念です。
プログラムを流れやシナリオで考えるということがもっとも重要なポイントです。浅く広く学習し「こんなのがあるのか」といった程度で進めて下さい。 プログラミング実習で、頻繁に使用する登場するテーマは重要ともいえますが、自然に覚えてしまいます。目的は、プログラムを作る力と考え方(=プログラミング力)の習得です。その他の技術的なことは、必要に応じて深く学習するというスタンスでかまいません。