如何在C#中创建子类?

时间:2010-11-22 13:23:51

标签: c# oop subclassing

如何使用Visual Studio 2010在C#for ASP.NET中创建子类?

5 个答案:

答案 0 :(得分:27)

你是说这个吗?

public class Foo
{}

public class Bar : Foo
{}

在这种情况下,Bar是子类。

答案 1 :(得分:26)

以下是编写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 website复制了一个不错的例子。

答案 2 :(得分:5)

你的意思是阶级继承吗?

public class SubClass: MasterClass
{
}

答案 3 :(得分:4)

如果你把课程放在课堂上,那就有点像。

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

然后,您可以使用:Class1.Class2.method1()引用子类。

答案 4 :(得分:1)

This page解释得很好:

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方法(并且已声明为abstractvirtualoverride),则{{1}方法定义应包括SavingsAccount,如here所述。不使用override重新定义此类类方法将导致CS0108编译器警告,可以使用override作为混淆声明here来抑制此警告。