Как создать подкласс в С#?

Как создать подкласс в С# для ASP.NET с помощью Visual Studio 2010?

Ответ 1

Вы имеете в виду это?

public class Foo
{}

public class Bar : Foo
{}

В этом случае Bar является подклассом.

Ответ 2

Вот пример написания 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();
    }
}

Вывод:

Parent Constructor.
Child Constructor.
I'm a Parent Class.

Вместо того, чтобы переписывать еще один пример наследования .Net, я скопировал достойный пример с веб-сайта C Sharp Station.

Ответ 3

Вы имеете в виду классовое наследование?

public class SubClass: MasterClass
{
}

Ответ 4

Если вы поместите класс в класс, он вроде как.

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

Затем вы можете ссылаться на подкласс, используя: Class1.Class2.method1().

Ответ 5

Эта страница хорошо объясняет:

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 (и объявлен abstract, virtual или override), то определение метода SavingsAccount должно включать override, как объяснено здесь. Не использовать override, чтобы переопределить такие методы класса, приведет к предупреждению компилятора CS0108, которое может быть подавлено с помощью new как смутно заявлено здесь.