2016-03-18 165 views
-3

我想解決一個任務,但我沒有得到如何創建添加類,以便程序正常工作。C#繼承類

我已經檢查了很多帖子,但還沒有找到解決方案。我嘗試自己公開Number,Text,...但在Visual Studio中,提示總是要求在類Class : Add中創建public int new Number。

我知道我應該創建一個列表,我可以將它添加文本和數字,然後如果數字然後解析...或者我應該使用索引器?

class Add 
{ 
    //............... 
} 

class Class : Add 
{ 
    public int Number { get; set; } 
    public string Text { get; set; } 
    public int NumberPlusOne() 
    { 
     return Number + 1; 
    } 
    public void Print() 
    { 
     Console.WriteLine("Number is " + Number); 
     Console.WriteLine("Text is " + Text); 
    } 
} 

class Program 
{ 
    static void Main() 
    { 
     Add add = new Class(); 
     add.Number = 123; 
     add.Text = "Hello!"; 
     add.Print(); 
     Console.WriteLine("Number + 1 = " + add.NumberPlusOne()); 
    } 
} 
+0

'公共抽象類中添加{...}'//注意 「抽象」 –

+4

'類Class'真的嗎? –

+0

...沒有必要像那個伊恩評論..它不是關於名稱,但方式如何解決,你知道... – remus

回答

0

//這是我的解決方案

interface Add 
     { 
      string text { get; set; } 
      int number { get; set; } 
      void Print(); 
      int NumberPlusOne(); 

     } 
1

像這樣:基座抽象類(Add)和衍生類(Class),該覆蓋抽象方法

// note "abstract" 
    public abstract class Add { 
    public abstract int Number { get; set; } 
    public abstract string Text { get; set; } 
    public abstract int NumberPlusOne(); 
    public abstract void Print(); 
    } 

而且Class應當改變成

// note "override" 
    class Class : Add { 
    public override int Number { get; set; } 
    public override string Text { get; set; } 

    public override int NumberPlusOne() 
    { 
     return Number + 1; 
    } 

    public override void Print() 
    { 
     Console.WriteLine("Number is " + Number); 
     Console.WriteLine("Text is " + Text); 
    } 
    } 
+0

嗯....我需要解決這個問題只添加添加類與不更改其他部分。 ..但我嘗試了你的建議,仍然有問題在主add.NumberPlusOne(), - > VS建議在Add中生成抽象方法,但隨後我實現抽象類和有問題類型Class已經定義了一個名爲NumberPlusOne的成員相同的參數類型.... – remus

+0

對不起,我沒有見過'add.NumberPlusOne()';在這種情況下,您必須在'Class'中將'public abstract int NumberPlusOne();'添加到'Add'類並*覆蓋*:public override int NumberPlusOne() return number + 1; }'。看到我的編輯 –

+0

是啊,完美工作,是否有另一種方法來解決這個任務,而不使用重寫類:添加??? – remus