41
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポケモン×Java】Lv15:『ピカチュウも、ヒトカゲも、、、』~抽象化~

Last updated at Posted at 2026-01-15

はじめまして。
株式会社PRUMでエンジニアをしている人見です。
日々、プログラミング学習や実務の中で
つまずきやすいポイントを整理して発信しています。

PRUMについて気になった方は、
コーポレートサイトもご覧ください。
コーポレートサイト

前回をまだ読んでない方はこちら

👉 【ポケモン×Java】Lv14:『立ちはだかるライバル、ヌル!』


🎮 作戦タイム

ヌル「そんなもんか、ひとみん……」
ヌル「ピカチュウしか攻撃できないようじゃ、この先進めないぜ?」

ひとみん博士「焦る必要はない。あいつも昨日までキミと同じだったんだから」
ヌル「!!」

ひとみん博士「さぁ、次のステージへレベルアップだ!」

💡 技術テーマ:抽象クラス(共通化)

▷ ヒトカゲ、ピカチュウ、ゼニガメの違いを確認

📖 博士ポイント①
ゼニガメヒトカゲピカチュウって何が違う?

種類 データ型 ピカチュウクラス ヒトカゲクラス ゼニガメクラス
情報 名前 ピカチュウ ヒトカゲ ゼニガメ
情報 タイプ でんき ほのお
情報 HP 100 100 100
情報 4つ 4つ 4つ
情報 技の威力 4つ 4つ 4つ
命令 登場 Pikachu() Hitokage() Zenigame()
命令 鳴く cry() cry() cry()
命令 攻撃 attack(Hitokage,No) attack(Pikachu,No) attack(???,No)

ポケモンたちは、名前やタイプなどそれぞれ個性があるけど、
同じような情報(フィールド)・命令(メソッド)を持っているだろう!

ヒトカゲ、ゼニガメ、ピカチュウ……みんな仲間だね!
みんなまとめて、ポケモンって呼べるようにしてあげよう


▷ 共通の型 Pokemon を作ろう!

📖 博士ポイント②
同じ情報を整理してみよう

Pokemon.java
abstract class Pokemon {
    String name;
    String type;
    int hp;

    String[] moves;
    int[] powers;


    abstract void cry();

    void attack(Pokemon target, int moveIndex) {
        System.out.println(name + " の " + moves[moveIndex] + "!");
        target.hp = target.hp - powers[moveIndex];
        System.out.println(target.name + " に " + powers[moveIndex] + " のダメージ!");
        System.out.println(target.name + " の HP は " + target.hp + " になった!");
    }
}

📒 トレーナーメモ①

  • abstract処理を決めていないよ」という意味
  • こんな情報や、命令があるのがポケモンだよ!ってまとめてあるんだ。

ちなみに、、、抽象化ってなに?(覚えなくていい)

抽象化」って聞くと難しそうだけど、
実はこういうことなんだ:

名前も姿も違っても、やってることは同じなら、
まとめて“仲間”って呼べばいい!

例:

  • カレー・パスタ・うどん → 食べ物
  • ネコ・イヌ・ウマ → 動物
  • ヒトカゲ・ピカチュウ・ゼニガメ → ポケモン

共通点を見つけてひとつにまとめる。
それがプログラミングにおける「抽象化」だよ!

次回:『ヒトカゲも、ピカチュウも、同じポケモン!?』

ポケモンたちを仲間として扱えるようになったことで、
どんなポケモンとも戦うことができるぞ!

次は、ポケモンの仲間という情報*に
ピカチュウという
個性**を付けていこう

次の投稿まで――

ピッピカチュウ!!


PRUMのエンジニアの95%以上は、未経験からの採用です。
よければ、HP遊びに来てください!

コーポレートサイト

41
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?