【问题标题】:How to create a subclass in C#?如何在 C# 中创建子类?
【发布时间】:2011-05-13 20:21:09
【问题描述】:

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

【问题讨论】:

    标签: c# oop subclassing


    【解决方案1】:

    这是一个编写 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();
        }
    }
    

    输出:

    父构造函数。 子构造函数。 我是家长班。

    我没有重写另一个 .Net 继承示例,而是从 C Sharp Station website 复制了一个不错的示例。

    【讨论】:

      【解决方案2】:

      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),则SavingsAccount 方法定义应包括override,如@ 987654322@。不使用 override 重新定义此类方法将导致 CS0108 编译器警告,可以通过使用 new 来抑制,如混淆所述 here

      【讨论】:

        【解决方案3】:

        你的意思是类继承吗?

        public class SubClass: MasterClass
        {
        }
        

        【讨论】:

          【解决方案4】:

          你是这个意思吗?

          public class Foo
          {}
          
          public class Bar : Foo
          {}
          

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2023-03-03
            • 1970-01-01
            • 2010-09-27
            • 2023-03-05
            • 2019-05-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多