using System;
class Vehicle
{
 public void Drive()
 {
  Console.WriteLine("I am driving!");
 }
}
class Car : Vehicle
{
//
}
Vehicle aVehicle = new Vehicle(); ///
Car aCar = new Car();   ///  (a)
aVehicle = aCar;   ///
Vehicle aVehicle = new Car(); ///(b)
一、(a)和(b)的效果是不是相同?
二、那么对象的真实数据类型是什么呢?
 Vehicle aVehicle = new Vehicle();//真实数据类型是Vehicle
 Car aCar = new Car();  //真实数据类型是Car
 Vehicle aVehicle = new Car(); //真实数据类型是不是Car?
在基础类和派生类有这样的原则:(1)只要是基础类出现的地方,都可以用该基础类的派生类代替。
(2)任何基础类和他的派生类都有相同的数据类型。
根据原则(2)对象的真实数据类型也应是相同的!但是这好像有矛盾了!
请高手们和版主们赐教!  谢谢!

											
	    
											