#2 [ おぶじぇくとしこう ]
はじめに
僕は新作のポケモンを買うと、最初にもらったポケモンをとことん育てる。
そうすると、時間効率がいいからである。
高いレベルで、相性の悪さをカバーして突き進むのである。
ところが [ ぷろぐらみんぐ ] においてそれは悪であると伝えておきます。
確かに「時間効率」はよい。
しかしせっかく作成したアプリケーションはきっと、
何度も使うことになるだろう。
時間効率を優先したがために書き汚されたコードは、
何度も何度もあなたを苦しめることになるのだ。
だからまず [ ぷろぐらみんぐ ] が何たるやのおおもとをお伝えしたい。
シンはジェクトだ。
プログラミングはオブジェクト指向だ。
オブジェクト指向とは
オブジェクト指向とは、「人」「家」「車」である。
そういう考え方や概念でアプリケーションを組み立てましょうってこと。
例えば、そうではない例
// Visual Studio C#.net
// 家族クラス
public class family
{
// 私の名前
string sMyName = "ひむらさん";
// 私の身長
int iMyHeight = 172;
// 私の性別
string sMySex = "男";
// 妻の名前
string sWifeName = "さとうさん";
// 妻の身長
int iWifeHeight = 160;
// 妻の性別
string sWifeSex = "女";
}
オブジェクト指向の例
// Visual Studio C#.net
// 家族クラス
public class family
{
Human My = new Human("ひむらさん", 172, "男");
Human Wife = new Human("さとうさん", 160, "女");
}
// 人間クラス
public class Human
{
// 名前
string Name;
// 身長
int Height;
// 性別
string Sex;
public Human(string _Name, int _Height, string _Sex)
{
Name = _Name;
Height = _Height;
Sex = _Sex;
}
}
つまり、私と妻に含まれる名前、身長、性別というステータスを、
1個ずつ変数を作って書くのは煩わしい。
家族が増えるたびに、ステータス分を書き足すのも煩わしい。
ステータスが多いほど、書き忘れたりもするかも。
でも、Humanというクラスを作っておけば、
そこに決められたステータスを打ち込むことで、
その人のオブジェクトが作られるのである。
オブジェクト指向のために気を付けること
ポケモンの話に戻りますが、
物語を始める前にちゃんと用意をしましょう。
最初にもらったポケモンと、
空を飛ぶ、いあいぎり、かいりきを使えるポケモンと、
タイプ相性を埋めるためのポケモンと、
状態異常や回復するアイテムを揃えておきましょう。
家計簿アプリを作るのであれば、
ステータスに「金額」「日時」「出金 or 入金」「備考」が必要だ。
電卓アプリを作るのであれば、
ステータスに「数値1」「"+" or "ー" or "×" or "÷"」「数値2」が必要だ。
コードを書き始める前に、それを整理しておきましょう。
本当のオブジェクト指向
前述の話は、「円周率は3である」ぐらいの話で、
突き詰めると「円周率は3.141592...」なわけなんですが、
「オブジェクト指向が何たるや」をそこまで考えたところで
なかなかまだ実る話はないと思いますので割愛です。
次回はついに [ ぷろぐらみんぐ ] のコードを書いてみたいと思います。
この記事が気に入ったらサポートをしてみませんか?