抽象类不能实例化

首先抽象类不能实例化是因为它不代表那一个具体的事物  
   
  而是指的那一类如:我申明一个抽象类车.很显然你并不能  
   
  把车这个类来创造某个具体的物体来,你只有派生一个汽车  
   
  你才可以生产出来.可是你这样   车   che1=new   汽车();显然  
   
  是可以的,因为任何汽车,自行车,摩托车等都可以称为车.  

 

例子:  
  abstract   class   车{}  
   
  public   class   汽车:车{}  
   
  车     车1;//可以申明但不可以具体生产出任何产品  
   
  车1=new   汽车();//这样可以因为汽车也是一种车,所以可以用车来指代汽车

 

问:不过如果这样,我不实例化只是声明能否使用他的域?  
  车   车1;  
  车1.轮子   =   4;//假设有这个域.  

 

答:当然也不可以你连车都没有生产出来那来的"轮子"的呢??  
   
  如果你想要一个4个"轮子"你可以  
   
  public   class   汽车:车  
  {  
  private   轮子;//这里为了保证汽车必须的四个轮子所以不允许其他人来访问所以是私有的  
  public     汽车(){轮子   =   4;}//构造函数中初试化  
  }  

posted @ 2009-02-19 14:31  .NET钉子户  阅读(1377)  评论(0编辑  收藏  举报