2013-05-27 64 views
1

我正在學習C#,但我發現進一步的問題。我的代碼如下所示:如何利用抽象方法重寫?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main() 
     { 
      Planeta Z1 = new Ziemia("matka Ziemia"); 
      Z1.Nazwa(); 
      System.Console.ReadKey(); 
     } 

    } 
    public abstract class Planeta 
    { 
     protected string nazwaPlanety; 
     public Planeta() { nazwaPlanety = " "; } 
     public Planeta(string s) { nazwaPlanety = s; } 
     public abstract void Nazwa();   
    } 
    public class Ziemia: Planeta 
    { 
     public Ziemia() { } 
     public Ziemia(string s) : base(s){ } 
     public override void Nazwa() 
     { 
      System.Console.WriteLine(this.nazwaPlanety); 
     } 
    }  
} 

,但我發現兩個錯誤:

錯誤1 'ConsoleApplication1.Ziemia' 不實現繼承的抽象成員 'ConsoleApplication1.Planeta.Nazwa()' 行:24柱:18

錯誤2 'ConsoleApplication1.Ziemia.Nazwa(字符串)':發現重寫沒有線合適的方法:28柱:30

爲什麼getti像這樣的錯誤?

如何避免它們並使程序正常工作?

另外:我不知道爲什麼在第二個錯誤它顯示「字符串」ConsoleApplication1.Ziemia.Nazwa(字符串)'作爲函數將採取的參數類型。

+6

我編譯(和運行),它替換Ziemia,技術類員工。它的工作原理。 – Zbigniew

+2

請出示您的實際代碼。在你的問題你的代碼就可以了。 –

+1

嘗試清理並重建應用程序 – pascalhein

回答

相關問題