パスワード管理ツールを自作しよう!(第4回・全ソースと予備知識編)

プログラミング入門
この記事は約6分で読めます。

さて、今回からコードエディターを使ってプログラムを書いていきます。

今回手始めに、全体のソースコードの掲載とイベントハンドラに至るまでの冒頭の処理について解説したいと思います。

ソースを見て内容が理解できる方は、読み飛ばしてもらえれば結構です。

全体のソースコード

全体のソースコードは以下の通りです。

尚、簡単な動作確認は行っていますが、全てのバグを取り切ってはいませんので、その点はご了承ください。

今は中身が理解できないと思いますので、ここでは全体の雰囲気を把握するという意味で、軽く目をとおしていただければ結構です。

Visual Studio 2019 のプロジェクトファイル一式は、下記からダウンロードできますので、入力が面倒という方はご利用ください。

冒頭部分の説明

では、イベントハンドラに入るまでの冒頭部分のプログラムコードについて、説明をしていきます。

先頭の using について

ファイルの冒頭に using ~ という記述がありますが、これは既存の共通クラス(汎用低が高く、共通に使えるクラス)の中で、今回はどれを使うかを記述する部分です。

画面のあるアプリケーションを作成する場合、下記の内容が自動で記述されるようになっていて、使う頻度の高い標準的な共通クラスが記述されます。

実は、自分で作った共通クラスを利用したい場合は、ここに記述します。

現時点では、おまじない的なものと考えてもらって結構です。

ネームスペース について

using の次に namespace(=ネームスペース) というのが登場しました。

これは、ここで記述されているクラスが所属する名前となります。

ちょっと分かり難いかもしれませんが、例えると苗字みたいなものです。

鈴木家には、太郎君と花子さんがいたとして、山田家にも太郎君と花子さんがいるとします。

この状態で「太郎君」と呼んでも、鈴木家の太郎君なのか、山田家の太郎君なのか区別できませんよね。

そこで「鈴木家」「山田家」という指定をすることになると思いますが、これが namespace の役割です。

そして、先ほど using について説明しましたが、実は namespace が記述されています。

今回は namespace に PasswordManager という名前が付けられていますが、もし今回のクラスを他のプロジェクト内で使おうとした場合、using PasswordManager という風に記述します。

クラス名について

namespace の { } 内に書かれているものが、クラスになります。

public と書くことで、他のクラスから呼び出すことが出来る様になります。

次に partial ですが、これはあっても無くても良いのですが、Visual Studioが自動で付加してくれています。

parsial を付けると、そのクラスを複数のファイルに分割して記述することができます。

というのは、実は1つのクラスを複数のファイルに分けて書くことはできません。

言い換えると、1つのクラスは1つのファイル内に完結させるという制約があるのですが、 parsial を付けることで、1つのクラスを複数のファイルに分けて記述することができるようになります。

ちなみに、私は今まで使ったことは無いです。

次にこれがクラスであることを示す class と、その直後にクラス名が並びます。

最後に : Form という記述がありますが、これは Form クラスを継承するという意味です。

継承については、こちら に解説しています。

メンバ 変数

メンバ 変数とは、そのクラスの中で使うための変数であり、クラス内のメソッドから自由にアクセスが可能です。

メンバ変数には、その有効範囲(スコープ)を示すキーワードがあり、変数の前に public を記述すると、他のクラスから自由にアクセスできるようになります。

今回はクラスの中だけなので private というキーワードを メンバ 変数の前に置いています。

ちなみに、有効範囲を示すキーワードを指定しない場合、private 扱いになります。

メンバ変数の名前の先頭にアンダースコア ‘_’ を書いていますが、これはメンバ変数であることを分かりやすくするための慣例です。

付けなくてもエラーにはなりませんが、こうすることで後々プログラムの中身が追いやすくなりますので、面倒かもしれませんが付加しておくことをオススメしています。

今回定義したメンバ変数には、画面から入力したIDとパスワード保存するためのファイル名を格納しています。

コンストラクタ

クラス名と同じ名前のメソッドがありますが、これはコンストラクタと呼ばれるもので、プログラムの起動時、最初に1回だけ実行されます。

ここに

InitializeComponent();

とう1行がありますが、これは画面に置かれたコントロール類に初期値を設定し、画面を描画するメソッドです。

このメソッドの中身は別ファイル(MainForms.Designer.cs)に記述されていて、レイアウトエディタでレイアウトを変更するたび、Visual Studio が自動的に変更結果を反映しています。

次に

this.StartPosition = FormStartPosition.CenterScreen;

と記載していますが、これは画面を表示するとき、モニタ上のどこに表示するかを指定するものです。

this は MainForm クラスの事で、そのクラスが持つ StartPosition というプロパティに、スクリーン(画面)の中心を表す FormStartPosition.CenterScreen という値を指定しています。

メンバ変数とMainFormの初期表示位置を設定しよう

では、実際にコードを入力していきましょう。

ファイル名を格納するメンバ変数と、MainFormの初期表示位置について、所定の位置に記述して下さい。

private string _idPassFile = “IdPass.xml”;

this.StartPosition = FormStartPosition.CenterScreen;

まとめ

如何でしたでしょうか。

今回は、Visual Studio が自動生成してくれる冒頭部分のソースコードを中心に

  • using
  • namespace
  • クラス名
  • メンバ変数
  • コンストラクタ

について解説致しました。

ちょっと難しかったかもしれませんが、プログラミングを進めていくうちに、だんだんと実感として分かっていくと思いますので、ここで全てを理解する必要はありません。

次回は、イベントハンドラの部分を細かく解説していきます。

タイトルとURLをコピーしました