2013-05-27 65 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

回答

相关问题