クラスについて深堀するコーナー のバックアップ(No.2)


ポケモンで覚えるC#の基本構文とオブジェクト指向

はじめに

C#の基本的な構文についてポケモンで例えてわかりやすく説明する試みです。
正確ではない情報が含まれます。ある程度プログラミングのわかる人や読解力のある人は公式ドキュメントの参照をお勧めします。
https://learn.microsoft.com/ja-jp/dotnet/csharp/programming-guide/

 

クラス

クラスはC#の一番基本的なものです。クラスは「状態」と「アクション」をまとめたデータ構造です。
ポケモンのクラスを作るとすれば、クラスの中にはポケモンのタイプやレベルなどの「状態」と、技を使う、技を覚えるなどの「アクション」を書けば良いわけです。

 

試しにポケモンクラスを作ってみます。

 

クラスを作るには

  1. class クラスの名前 { クラスの中身 }

のように書きます。

  1. class Pokemon
  2. {
  3.  
  4. }

{}のなかは見やすいように改行してあります。何行改行しても処理に変化はありません。
{}のなかにポケモンに必要なものを書いていきます。

変数、コメント

 

まずはデータを考えます。
ポケモンの種類で見れば、タイプ、つかえるわざ
個々のポケモンで見ればレベルなどがありそう。

 

データはクラスの中に変数として書きます。変数は値を保存しておく入れ物みたいなものです。
C#で新しい変数を定義するときは、

#geshi(csharp, number){{
型 変数名}}
のようにして書きます。型とは、例えばその変数の中に入るのが文字なのか?数字なのか?ということをあらかじめ決めておくためのものです。
C#では型を決めておかないと変数を定義できません。

  1. 型 変数名;

ポケモンにレベルを作ってみました。
これを使ってプログラムにメモを残すことができます。
intは整数型なので、変数「level」には整数の値しか入らなくなります。小数を使いたいときはfloatにします。
intのまえに半角スペースが4つありますが、見やすいように入れているだけです。何個入れても処理に変化はありません。
処理が終わったら、どこまでが処理かわかるように;で区切ります。これで次の命令と分けることができます。
ポケモンによってレベルは違うので、まだlevelのなかには何も入れていません。

 

タイプも書き入れます。

  1. class Pokemon
  2. {
  3.     //レベルを作るよ
  4.     int level;
  5. }

stringは文字列型です。文字や文章が入ります。

 

ここで先に技のクラスを作ってしまいます。

Pokemonクラスの下に新しくSkillクラスが作られました。