簡體   English   中英

(C#) 當你想創建一個繼承類時,你如何處理帶有構造函數的基類?

[英](C#) How do you deal with a Base class with a constructor, when you want to make an inheriting class?

我正在嘗試創建一個 Dog 類,繼承具有構造函數的 Animal 基類。 有什么辦法可以讓 Dog : Animal 類,但以某種方式使用 Animal 構造函數嗎? 我查看了類似的問題,但沒有得到我正在尋找的答案。

class Class1
{       
   static void Main(string[] args)
   {
        Animal animal = new Animal("Spotty", 5, 4);
        animal.Print();
   }
}

class Animal
{
    public string animalName;
    public int animalAge;
    public int animalLegs;
    public Animal(string name, int age, int legs)
    {
        animalName = name;
        animalAge = age;
        animalLegs = legs;       
    }       

    public void Print()
    {
        Console.WriteLine("Name: " +animalName);
        Console.WriteLine("Age: "+ animalAge);
        Console.WriteLine("Number of Legs: " +animalLegs);
    }
}

class Dog : Animal
{
    //This wont work; there will be an error
}

您應該向Animal添加一個默認構造函數,或者向Dog添加必要的構造函數:

public Dog(string name, int age) : base(name, age, 4)
{
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM