Wie erstelle ich eine Unterklasse in C# für ASP.NET mit Visual Studio 2010?Wie erstellt man eine Unterklasse in C#?
Antwort
Meinst du das?
public class Foo
{}
public class Bar : Foo
{}
In diesem Fall ist Bar die Unterklasse.
Hier ist ein Beispiel für das Schreiben einer ParentClass und das anschließende Erstellen einer ChildClass als Unterklasse.
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();
}
}
Ausgang:
Parent Constructor. Child Constructor. I'm a Parent Class.
Anstatt ein weiteres Beispiel für .Net Vererbung Umschreiben ich ein anständiges Beispiel aus dem C Sharp Station website kopiert haben.
Meinst du Klassenvererbung?
public class SubClass: MasterClass
{
}
This page erklärt es gut:
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());
}
Wenn die monthlyInterest
Methode bereits in der BankAccount
Klasse vorhanden ist (und abstract
deklariert wird, virtual
oder override
), dann die SavingsAccount
Methodendefinition override
umfassen sollte, wie erklärt here. Wenn Sie override
nicht verwenden, um solche Klassenmethoden neu zu definieren, führt dies zu einer CS0108-Compiler-Warnung, die unterdrückt werden kann, indem new
als verwirrend angegeben here verwendet wird.
Wenn Sie eine Klasse in einer Klasse platzieren, ist es wie eine.
public class Class1
{
public class Class2
{
public void method1()
{
//Code goes here.
}
}
}
Anschließend können Sie die Unterklasse Referenzen: Class1.Class2.method1()
.
Dies ist eine verschachtelte Klasse, keine Unterklasse. –