override,new,toString,ToString
using System;
namespace P73
{
class Person
{
private string name;
private uint age;
public Person(string name, uint age)
{
this.name=name;
this.age=age;
}
public string toString()
{
return String.Format("{0},今年{1}岁",this.name,this.age);
}
}
class Student :Person
{
private string school;
//public,internal(,protected,private)
internal Student(string name, uint age, string school)
:base(name,age) //调用基类的构造函数
{
this.school=school;
}
public new string toString()
{
return base.toString() + String.Format("在{0}就读。",this.school);
}
}
class myApp
{
static void Main_P73(string[] args)
{
Student s =new Student("许明会",2,"北大青鸟");
Console.WriteLine(s.toString());
//修改ToString方法的override为new或者空,输出什么?
Person p = s;
Console.WriteLine(p.toString());
}
}
}
/*
许明会,今年2岁在北大青鸟就读。
许明会,今年2岁
* */


浙公网安备 33010602011771号