web-dev-qa-db-ja.com

C#でサブクラスを作成する方法

Visual Studio 2010を使用してASP.NETのC#でサブクラスを作成するにはどうすればよいですか?

19
Neel Desai

これはどういう意味ですか?

public class Foo
{}

public class Bar : Foo
{}

この場合、Barはサブクラスです。

29
Herman Cordes

次に、ParentClassを記述し、ChildClassをサブクラスとして作成する例を示します。

using System;

public class ParentClass
{
    public ParentClass()
    {
        Console.WriteLine("Parent Constructor.");
    }

    public void print()
    {
        Console.WriteLine("I'm a Parent Class.");
    }
}

public class ChildClass : ParentClass
{
    public ChildClass()
    {
        Console.WriteLine("Child Constructor.");
    }

    public static void Main()
    {
        ChildClass child = new ChildClass();

        child.print();
    }
}

出力:

親コンストラクター。
子コンストラクター。
私は親クラスです。

.Net継承のさらに別の例を書き直すのではなく、 C Sharp Station Webサイト から適切な例をコピーしました。

27
Brian Scott

クラスの継承を意味しますか?

public class SubClass: MasterClass
{
}
5

クラスをクラスに入れると、一種のクラスのようになります。

_public class Class1
{
   public class Class2
   {
      public void method1() 
      {
         //Code goes here.
      }
   }
}
_

次に、Class1.Class2.method1()を使用してサブクラスを参照できます。

3
Bradley A.

このページ はそれをうまく説明しています:

public class SavingsAccount : BankAccount
{
    public double interestRate;

    public SavingsAccount(string name, int number, int balance, double rate) : base(name, number)
    {
        accountBalance = balance;
        interestRate = rate;
    }

    public double monthlyInterest()
    {
        return interestRate * accountBalance;
    }
}

static void Main()
{
    SavingsAccount saveAccount = new SavingsAccount("Fred Wilson", 123456, 432, 0.02F);

    Console.WriteLine("Interest this Month = " + saveAccount.monthlyInterest());
}

monthlyInterestメソッドがBankAccountクラスにすでに存在している(そしてabstractvirtual、またはoverrideと宣言されている)場合、SavingsAccountメソッド定義にはoverrideを含める必要があります ここ 。そのようなクラスメソッドを再定義するためにoverrideを使用しないと、CS0108コンパイラの警告が表示されますが、newを使用すると、混乱を招く可能性があります here .

1
Cees Timmerman