我想知道粗体的地方怎么解释 我看不懂 为什么要加这段代码呢。。{
class Program
{
static void Main(string[] args)
{
Mouse m = new Mouse { cat = new Cat() };
m.CrySanpSound();
Console.ReadKey();
}
}
interface ISound
{
void CrySanpSound();
}
public class Cat : ISound
{
public void CrySanpSound()
{
Console.WriteLine("抓住了老鼠");
}
}
public class Mouse : ISound
{
public Cat cat { get; set; }
private static int number=0;
public Mouse()
{
number++;
}
public override string ToString()
{
return"老鼠"+number;
}
public void CrySanpSound()
{
Console.WriteLine("吱吱吱。。");
cat.CrySanpSound();
}
}
}
public Mouse()
{
number++;
}
public override string ToString()
{
return"老鼠"+number;
}
实际上WriteLine函数内部会调用obj的ToString()方法,产生一个字符串,再输出。再比如,我们在调试的时候,调试窗口也会调用ToString()给出对象的信息。
所以ToString()很有用。默认情况下,系统内置的对象,ToString()都会给出有意义的字符串,比如对于一个整数,将会返回字面数值的字符串,对于一个集合,会列举集合里面元素。但是对于自己写的类,ToString()默认会输出对象的类名。有时候我们希望输出更有意义的信息,就可以重写这个方法。