我正在学习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()' Line: 24 Column: 18
错误2 'ConsoleApplication1.Ziemia.Nazwa(string)':没有找到合适的方法来覆盖行:28列:30
为什么我得到这样的错误?
如何避免它们,使程序正常工作?
还有:我不知道为什么在第二个错误中显示"string"'ConsoleApplication1.Ziemia.Nazwa(string)'作为函数将接受的参数类型。
尝试一种更简单的方法来消除可能的问题参数。您可以尝试下面的控制台应用程序示例。将员工换成Ziemia,技师班换成Planeta*。
http://www.codecandle.com/articles/csharp/classes/abstract-classes.html