Как создать подкласс в C #? - PullRequest
15 голосов
/ 22 ноября 2010

Как создать подкласс в C # для ASP.NET с использованием Visual Studio 2010?

Ответы [ 5 ]

28 голосов
/ 22 ноября 2010

Ты имеешь в виду это?

public class Foo
{}

public class Bar : Foo
{}

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

26 голосов
/ 22 ноября 2010

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

5 голосов
/ 22 ноября 2010

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

public class SubClass: MasterClass
{
}
4 голосов
/ 24 марта 2015

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

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

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

1 голос
/ 26 января 2015

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

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, как смутно указано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...