【发布时间】:2013-05-27 16:37:13
【问题描述】:
我正在学习 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(string)': 找不到合适的方法来覆盖 Line: 28 Column: 30
为什么会出现这样的错误?
如何避免它们并使程序正常工作?
另外:我不知道为什么在第二个错误中它显示“字符串”'ConsoleApplication1.Ziemia.Nazwa(string)' 作为函数将采用的参数类型。
【问题讨论】:
-
我已经编译(并运行)了它。它有效。
-
请出示您的真实密码。您在问题中的代码是可以的。
-
尝试清理并重建应用程序
-
嘿...但这确实是我的代码。清楚地从我的 Microsoft Visual C# 2010 Express 控制台复制:/
-
您是否有未保存的文档?
标签: c# inheritance overriding abstract