【C#】クラスのサンプル(お金)

C#でお金のクラスを作るには、まず、お金のクラスを定義します。その中に、例えば、金額や通貨の種類などの情報を保持するプロパティを定義します。次に、必要な演算(加算、減算、比較など)を行うメソッドを定義します。以下は、お金のクラスの一例です

class Money
{
    public decimal Amount { get; set; }
    public string Currency { get; set; }

    public Money(decimal amount, string currency)
    {
        Amount = amount;
        Currency = currency;
    }

    public static Money operator +(Money m1, Money m2)
    {
        if (m1.Currency != m2.Currency)
        {
            throw new Exception("異なる通貨でお金を追加することができません");
        }

        return new Money(m1.Amount + m2.Amount, m1.Currency);
    }

    public static Money operator -(Money m1, Money m2)
    {
        if (m1.Currency != m2.Currency)
        {
            throw new Exception("異なる通貨のお金を引き算することができません");
        }

        return new Money(m1.Amount - m2.Amount, m1.Currency);
    }

    public static bool operator ==(Money m1, Money m2)
    {
        return m1.Amount == m2.Amount && m1.Currency == m2.Currency;
    }

    public static bool operator !=(Money m1, Money m2)
    {
        return !(m1 == m2);
    }
}

この例では、Money クラスは、金額(Amount) と通貨(Currency) のプロパティを持っており、加算(+)、減算(-)、比較(==、!=)を行うために必要な演算子をオーバーロードしています

C#

Posted by hidepon