見出し画像

#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...」なわけなんですが、

「オブジェクト指向が何たるや」をそこまで考えたところで

なかなかまだ実る話はないと思いますので割愛です。


次回はついに [ ぷろぐらみんぐ ] のコードを書いてみたいと思います。

この記事が気に入ったらサポートをしてみませんか?