许明会的计算机技术主页

Language:C,C++,.NET Framework(C#)
Thinking:Design Pattern,Algorithm,WPF,Windows Internals
Database:SQLServer,Oracle,MySQL,PostSQL
IT:MCITP,Exchange,Lync,Virtualization,CCNP

导航

让学员吐血的类的封装继承

using System;

namespace P74
{
    
class Person
    
{
        
private string name;
        
private uint age;

        
public Person(string name, uint age)
        
{
            
this.name=name;
            
this.age=age;
        }

        
public override string ToString() //去掉override试试
        {
            
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_p74(string[] args)
        
{
            Student s 
=new Student("许明会",2,"北大青鸟");
            Console.WriteLine(s); 
//省去ToString效果就不一样了
            
//修改ToString方法的override为new或者空,输出什么?
            Person p = s;
            Console.WriteLine(p);
        }

    }

}

/*
许明会,今年2岁
许明会,今年2岁 * 
*/

posted on 2007-11-30 15:25  许明会  阅读(144)  评论(0)    收藏  举报