C# オブジェクト指向 ステップアップ ワークシート
では、『なるほどなっとくC#』で配列まで終わった初学者向けに、オブジェクト指向を“満足に”学べるためのワークシートをステップ形式でまとめます。
目次
✏️ 【Step 0】おさらい
- 配列は同じ型のデータをまとめて扱うものだった
int[] numbers = {1, 2, 3};
- オブジェクト指向では「型」に名前と中身(値+機能)をセットにして自分で作れる。
✏️ 【Step 1】クラスとは?
✅ ポイント
- 設計図(型) のこと。
- データ(フィールド)と動き(メソッド)をまとめる。
✏️ 【Step 2】まずはクラスを書いてみる
📝 練習1:人クラス
public class Person
{
// フィールド(値)
public string Name;
public int Age;
// メソッド(動き)
public void SayHello()
{
Console.WriteLine($"こんにちは!私は {Name} です。");
}
}
✏️ 【Step 3】インスタンスを作る
📝 練習2:クラスから実体を作って使う
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.Name = "太郎";
p.Age = 20;
p.SayHello(); // → 「こんにちは!私は 太郎 です。」
}
}
✏️ 【Step 4】配列と組み合わせてみる
📝 練習3:人クラスの配列
class Program
{
static void Main(string[] args)
{
Person[] people = new Person[2];
people[0] = new Person();
people[0].Name = "太郎";
people[0].Age = 20;
people[1] = new Person();
people[1].Name = "花子";
people[1].Age = 18;
foreach (var p in people)
{
p.SayHello();
}
}
}
✏️ 【Step 5】プロパティを使う
✅ ポイント
- 外部から安全に値をやりとりする仕組み
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public void SayHello()
{
Console.WriteLine($"こんにちは!私は {Name} です。");
}
}
✏️ 【Step 6】コンストラクタを使う
✅ ポイント
- インスタンス作成時に初期値を設定できる
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
// コンストラクタ
public Person(string name, int age)
{
Name = name;
Age = age;
}
public void SayHello()
{
Console.WriteLine($"こんにちは!私は {Name} です。");
}
}
// 使用例
class Program
{
static void Main(string[] args)
{
Person p = new Person("太郎", 20);
p.SayHello();
}
}
✏️ 【Step 7】まとめ問題
🎯 問題
- 「車クラス(Car)」を作りましょう
- 名前、色をプロパティで持つ
- Drive() メソッドで「〇〇の〇〇色の車が走ります」と表示
- 2台の車を作って、配列に入れて、全ての車を走らせてみましょう。
📌 【補足Tips】
- new は「設計図から実体を作る」合言葉!
- 同じクラスでもインスタンスは別物
- 配列の要素にクラスを入れると複雑なデータをまとめて扱える
🗂️ 【次のステップ】
- 継承・ポリモーフィズムは基本ができたら!
- Unityで使う GameObject もクラスのインスタンスの一種!
訪問数 3 回, 今日の訪問数 3回
ディスカッション
コメント一覧
まだ、コメントがありません