类继承的研究,类的多态性

个人研究心得,不足之处,请多多指出,谢谢。

   using System;

// 定义基类,class 前加 abstract,定义为基类后就不能被实例化。  不加abstract,也可以作为基类,且可被实例化。
   abstract   class  Car   

      {
        public string CarName="car";
        public  void DescribeCar()
        {
            Console.WriteLine(CarName);
        }
        public string  getCarName()
        {

          return CarName;

        }
    }

   //实现了对基类Car的继承,继承了基类的属性,方法等。子类与基类方法不一样的,可重写方法

   //重写方法 方法1:基类方法加 virtual  重写类用 new 或 override,  方法2:基类方法不加修饰符,重写类加 new (这里用法2)

    class Minivan : Car
    {
        public new void DescribeCar()
        {
           
            Console.WriteLine("Carries seven people.");
        }
        public  void DescribeCar(string boolNew)    //构造函数,不用加 new
        {

            Console.WriteLine("Carries seven people."+boolNew);
        }
    }

 

//对继承类的调用

 

using System;
namespace Phoenix.test

   
    class class2
    {
      
        public static void Main()
        {
          
           Minivan Minivan = new Minivan();//实例化继承类
           Minivan.CarName="MINI";
           Minivan.DescribeCar("--oldCar");//给构造函数传参
           Console.WriteLine( Minivan.getCarName());
            Console.ReadKey();
            
            }

    }

}

 

posted @ 2010-03-30 08:50  火凤凰工作室  阅读(340)  评论(0编辑  收藏  举报