前回までは、Visual Studio の使い方も兼ねて、画面を作成してみました。
さて今回は、前回に作成したアプリケーションの実際のプログラムを眺めてみましょう。
一体どういう風に書かれているのかな?
プログラムの流れ
先ずは、前回に作成したソリューションファルを開きましょう。
「HelloWorld.sln」となっているファイルをダブルクリックするか、Visual Studio を立ち上げて、同様のファイルを選択しましょう。
前回のファイル郡が開けましたか?
それでは今回は、プログラムがどのように構成されているか見てみましょう。
プログラムのスタートはどこ?
前提条件として、プログラムは1行ずつ上から順番に実行されると言う点を覚えていて下さい。
では、プログラムソースは幾つも有りますが、どのプログラムが一番最初に実行されるんでしょう?(因みに、〜.csとなっているのがプログラムソースです。)
それは、以下のソースファイルになります。
Program.cs
なぜそう言えるのか?
それは、このプログラムソースの中に、「Main」という文字が入っているからです。
C#(他の言語も多くはそう)は「Main」からスタートするという決まりになっています。正確に言うと、Mainメソッドからスタートすると言います。
では、これを更に、意味のある部分に分解してみたいと思います。
プログラムソースを意味のある部分で分解する
囲んだ部分について少し解説を行いますね。
インポート文
これは、使用するライブラリについて書いています。
ライブラリ? 当然の質問です。
上の過去の記事で、少し解説を行ったのですが、ライブラリとはプログラムの集合体です。
その意味の通り、図書館となっており、皆がよく使うプログラムを集めている場所になります。
例えば、データの並べ替え(ソートと言います。)や、文字列の分割(スプリットと言います)など、だいたい皆が共通してやりたいことがあるのです。
一から全てプログラムを書くのは非効率ですから、そういった共通的なものは一箇所に集めておいて、「ライブラリのどこどこにあるプログラムを使うよ」と書けば、コンパイラが「了解した!」と理解して、機械語に翻訳するときに探してきてくれるわけです。
この、ライブラリのどこにあるかというのを書く部分が「インポート文」です。
using
と言うのを頭につけて書きます。因みに、「.」の意味は「の」と解釈して下さい。
例えば、二行目にある「System.Collections.Generic」と言うのは、「Systemの、Collectionsの、Genericというライブラリを使います。」と言う意味です。
プログラム全体に共通して言えますが、「.」と言うのは、「の」という意味です。頭の片隅に置いておくと良いでしょう。
また、C#の場合、「.Net Framework」と言うライブラリを利用します。これは、Microsoftが提供してくれているライブラリです。このライブラリを利用するために、C#で書かれたソフトウェアは Windows でしか動作しません。(厳密には、例外的なことも出来ますが、概ね.Net Frameworkが他のOSには入れられないため、C#で作成されたソフトウェアは Windows 以外で動作しないという認識で大丈夫です。)
ネームスペース
この箇所は、今の所あまり気にする必要はありません。
このネームスペースと言うのは、プロジェクトが複数になった場合に意識する必要があります。
このプログラムソースが、どこのプロジェクトに所属しているかというのを書き表しています。
現在作っているアプリケーションは、「HelloWorld」と言うプロジェクトしかありませんから、どのプログラムソースを開いても、ネームスペースは
namespace HelloWorld
{
}
となっているはずです。
さて、ここで既にお気づきかもしれませんが、この囲みの始まりと終わりは、{ }で囲まれています。
この中括弧で囲んだ範囲が一つのかたまりを意味しますから、覚えておいて下さい。
クラスとメソッド
ネームスペースの中に、クラスというものを書きます。また書くときには、「class」と書くことが決まりになっています。
クラスだけで一つの記事を書く必要がありますので、今この場で簡潔に解説するのは難しいのですが、敢えて言うならば、大きな箱と思って下さい。
そして、クラスの中には、データを覚える場所である変数。そして、そのデータを使って何か処理を行うかたまりであるメソッドというものがあります。
これらをひとまとめにしているものがクラスです。
例えば、以下の様に、ネームスペースの中に幾つもクラスを定義することが可能です。
さて、ここで定義と敢えて行ったのは、このクラスを書いただけではまだ使えないからです。
これらのクラスを利用しようと思ったら、「クラスAを使いますよ!」と宣言をして使用する(クラスのインスタンス生成)という決まりになっています。
この部分は、実際にクラスを使いこなすときにご説明しましょう。
今回は、あくまでプログラムソースがどういったもので構成されているかについて説明するに留めます。
まとめ
では、今回の講座のまとめをします。
- プログラムは上から順番に実行される
- Mainメソッドが書かれたプログラムが一番最初に実行される
- プログラムソースは、「インポート文」ー「ネームスペース」ー「クラス」ー「メソッド」で構成される。
ここで、前回の画面の動作を書いたプログラムを貼り付けますね。
Form1.cs
それぞれ、「インポート文」「ネームスペース」「クラス」「メソッド」としてグルーピング出来ますか?
いかがでしょうか?
では、今回はここまで!
楽しいプログラミングライフを!!
adios!!