如何在C#中创建子类?
如何使用Visual Studio 2010在C#for ASP.NET中创建子类?
你是说这个吗?
public class Foo {} public class Bar : Foo {}
在这种情况下,Bar是子类。
下面是编写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(); } }
输出:
父构造函数。 儿童构造函数。 我是父母class。
我没有重写.Netinheritance的另一个例子,而是从C Sharp Station网站上复制了一个不错的例子。
你的意思是阶级inheritance吗?
public class SubClass: MasterClass { }
这个页面解释得很好:
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
来抑制,如此处容易混淆。
如果你把一个类放在一个类中,它就像一个类。
public class Class1 { public class Class2 { public void method1() { //Code goes here. } } }
然后,您可以使用: Class1.Class2.method1()
引用子类。