Menu
Coddy logo textTech

クラスとオブジェクト入門

CoddyのC#ジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 3/70。

クラスはオブジェクトを作成するための設計図です。オブジェクトは、データと振る舞いを含むクラスのインスタンスです。

プロパティを持つシンプルなクラスを定義します

public class Dog
{
    public string Name { get; set; }
    public int Age { get; set; }
}

オブジェクトを初期化するためのコンストラクタを追加します

public class Dog
{
    public string Name { get; set; }
    public int Age { get; set; }
    
    public Dog(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

振る舞いを定義するメソッドを追加します

public class Dog
{
    public string Name { get; set; }
    public int Age { get; set; }
    
    public Dog(string name, int age)
    {
        Name = name;
        Age = age;
    }
    
    public string Bark()
    {
        return $"{Name} says Woof!";
    }
}

オブジェクト(インスタンス)を作成して使用する

Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");

出力:

Buddy says Woof!
Age: 3

newキーワードはクラスのインスタンスを作成し、コンストラクタを呼び出します。同じクラスから、それぞれ異なるデータを持つ複数のオブジェクトを作成できます。

challenge icon

チャレンジ

簡単

コンストラクタと Drive() メソッドを追加して、Car クラスを完成させてください。次に、Program.csCar オブジェクトを作成し、それを使用してください。

Drive() メソッドは、"The {Brand} is driving!" を返す必要があります。

チートシート

クラスはオブジェクトを作成するための設計図です。オブジェクトは、データと振る舞いを含むクラスのインスタンスです。

プロパティを持つクラスを定義します:

public class Dog
{
    public string Name { get; set; }
    public int Age { get; set; }
}

オブジェクトを初期化するためのコンストラクタを追加します:

public class Dog
{
    public string Name { get; set; }
    public int Age { get; set; }
    
    public Dog(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

振る舞いを定義するためのメソッドを追加します:

public string Bark()
{
    return $"{Name} says Woof!";
}

new キーワードを使用してオブジェクトを作成します:

Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");

自分で試してみよう

using System;

class Program
{
    static void Main()
    {
        string brand = Console.ReadLine();
        int year = int.Parse(Console.ReadLine());
        
        // TODO: 入力値を使用してCarオブジェクトを作成する
        
        // TODO: "Car: {brand} ({year})" を出力する
        
        // TODO: Drive() メソッドを呼び出し、その結果を出力する
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

オブジェクト指向プログラミングのすべてのレッスン