using System;
public class Person
{
private string MyName = "liuguoqing";
private int MyAge = 25;
public string Name
{
get
{
return MyName;
}
set
{
MyName = value;
}
}
public int Age
{
get
{
return MyAge;
}
set
{
MyAge = value;
}
}
public override string ToString()
{
return "Name = " + Name + ", Age = " + Age;
}
public static void Main()
{
Console.WriteLine("simply examples");
Person MyPerson = new Person();
Console.WriteLine("MyPerson details---------------------{0}", MyPerson);
MyPerson.Name = "fanjun";
MyPerson.Age = 24;
Console.WriteLine("MyPerson details-------------------{0}", MyPerson);
MyPerson.Age += 1;
Console.WriteLine("MyPerson details-------------------------{0}", MyPerson);
}
}
输出的结果如下:
simply examples
MyPerson details---------------------Name = liuguoqing, Age = 25
MyPerson details-------------------Name = fanjun, Age = 24
MyPerson details-------------------------Name = fanjun, Age = 25
问题如下:
1:
public override string ToString()
{
return "Name = " + Name + ", Age = " + Age;
}
这个函数是否对系统提供的ToString的重载
2:
为什么Console.WriteLine("MyPerson details---------------------{0}", MyPerson);
可以输出 MyPerson details---------------------Name = liuguoqing, Age = 25
我认为是Console.WriteLine("MyPerson details---------{0}-----{1}", MyPerson.Name,MyPerson.Age);
是否我对属性的理解有问题
答案-------->>
1) 是覆盖
2)Console.WriteLine("MyPerson details---------------------{0}", MyPerson);会自动调用MyPerson.ToString();