C#有关继承的问题(代码)

来源:百度知道 编辑:UC知道 时间:2024/09/21 17:33:18
下面是代码,比较简单,可是编译的时候提示错误“非静态的字段、方法或属性name,color 要求对象引用”,不知如何修改,请高人解答,谢谢。
public class Animal
{
public Animal(){}
public Animal(string name, string color)
{
this.Name = name;
this.Color = color;
}
protected string name;

public string Name
{
get { return name; }
set { name = value; }
}
protected string color;

public string Color
{
get { return color; }
set { color = value; }
}
}
public class Dog : Animal
{
public Dog() : base(name, color)
{ }
public void Bark()
{
string message = string.Format("我是{0}狗{1},汪汪", base.Color, base.Name);
Console.WriteLine(message);
}

public Dog() : base(name, color)
你要给父类构造函数传参数name color
但是name color你还没有收到
改成
public Dog(string name,string color) : base(name, color)
new Dog的时候把这两个参数传过来,这样才能再传给父类
猫的那个也一样

protected string name 改成public string name呢