注册 登录
MOD中国同盟社 返回首页

编程爱好者 http://www.modchina.com/?25792 [收藏] [复制] [分享] [RSS] 空间主要记录一些AMXX代码

日志

【转】抽象类不能实例化

热度 1已有 458 次阅读2011-2-28 11:51 |个人分类:VC++转载

原文

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

 

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

 

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

 

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


路过

鸡蛋

鲜花

握手

雷人
收藏 分享 转发到开心网 举报

发表评论 评论 (1 个评论)

回复 tangshunxi 2011-3-11 17:22
看不懂

facelist

您需要登录后才可以评论 登录 | 注册
验证问答 换一个 验证码 换一个

回顶部