namespace ConsoleApplication1 //命名空间
{
class Program //主程序
{
static void Main(string[] args) //主程序起始方法
{
person[] p = new person[2]; //声明Person数组,分配2个位置
chiness c = new chiness(); //实例化chiness类c
jp j = new jp(); //实例化jp类j
p[0] = c; //把c放入声明的Person类的第一个位置
p[1] = j; //把j放入声明的Person类的第二个位置
c.Name = "张三"; //c的Name字段赋值“张三”
j.Name = "李四"; //j的Name字段赋值“李四”
for (int i = 0; i < p.Length; i++) //for循环取出p中的内容,也就是上面放入的c,j
{
p[i].sayhi(); //索引形式调用sayhi()方法
}
Console.ReadKey(); //程序等待键入.....
}
}
class person //声明Person父类
{
private int age; //声明私有字段age
public int Age // 封装age字段,此时Age 是属性
{
get { return age; } //当调用Age点是取值,比如 p.Age
set { age = value; }} //当给Age赋值
}
private string name; //同上
public string Name
{
get { return name; }
set { name = value; }
}
public virtual void sayhi() //声明sayhi()方法,病标记为虚拟,子类中可以重写
{
Console.WriteLine("我的年龄:{0}我的姓名:{1}",this.age,this.name); //方法体
}
}
class chiness : person //chinese类继承person
{
public override void sayhi() //override 标志重写父类虚方法,
{
Console.WriteLine("我是中国人我叫:{0}", Name); //方法体
}
}
class jp : person //jp类继承person
{
public override void sayhi() //override 标志重写父类虚方法,
{
Console.WriteLine("我是日本人我叫:{0}",Name); //方法体
}
}
}
//希望对你有帮助
|