看到书中的一个练习:
public class FarmAnimal {
string name;
public virtual string Name{
get
{ return name; }
set
{ name = value; } }
public virtual void MakeSound()
{ Console.WriteLine(Name+"makes a sound"); }
}
public class Cow : FarmAnimal
{
public override void MakeSound()
{
Console.WriteLine(Name+"goes Moooooo");
}
}
public class Horse : FarmAnimal
{
public override string Name {
set {base.Name=value+"[a Horse]"; }
}
}下面的客户代码将打印出什么???
Cow c =new Cow();
Horse h=new Horse();
c.Name = "Elisie";
h.Name = "Mr.Ed";
c.MakeSound();
h.MakeSound();我才学C#我给的答案是:
Elsie goes Mooooo
Mr.Ed [a Horse] makes a sound
我给的答案正确不?要是不对的话,错在哪个地方的理解偏差?
如果我想把这个过程拿到VS里去,让它输出结果,程序该怎么写???
先去休息下,回头等大家的答复!
public class FarmAnimal {
string name;
public virtual string Name{
get
{ return name; }
set
{ name = value; } }
public virtual void MakeSound()
{ Console.WriteLine(Name+"makes a sound"); }
}
public class Cow : FarmAnimal
{
public override void MakeSound()
{
Console.WriteLine(Name+"goes Moooooo");
}
}
public class Horse : FarmAnimal
{
public override string Name {
set {base.Name=value+"[a Horse]"; }
}
}下面的客户代码将打印出什么???
Cow c =new Cow();
Horse h=new Horse();
c.Name = "Elisie";
h.Name = "Mr.Ed";
c.MakeSound();
h.MakeSound();我才学C#我给的答案是:
Elsie goes Mooooo
Mr.Ed [a Horse] makes a sound
我给的答案正确不?要是不对的话,错在哪个地方的理解偏差?
如果我想把这个过程拿到VS里去,让它输出结果,程序该怎么写???
先去休息下,回头等大家的答复!
没错误
把程序放到VS里一样的啊。。
把代码Copy过去不就得了
复制一下代码
using System;
class Program
{
public class FarmAnimal
{
string name;
public virtual string Name
{
get
{ return name; }
set
{ name = value; }
}
public virtual void MakeSound()
{ Console.WriteLine(Name + "makes a sound"); }
}
public class Cow : FarmAnimal
{
public override void MakeSound()
{
Console.WriteLine(Name + "goes Moooooo");
}
}
public class Horse : FarmAnimal
{
public override string Name
{
set { base.Name = value + "[a Horse]"; }
}
} public static void Main(string[] args)
{
Cow c = new Cow();
Horse h = new Horse();
c.Name = "Elisie";
h.Name = "Mr.Ed";
c.MakeSound();
h.MakeSound();
Console.ReadLine();
}}