抽象类不能实例化到底是什么意思

TonyDaiShui 2002-12-04 11:10:19
我声明了一个抽象类的实例也没有报错啊.请教高手.
...全文
741 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kalven 2002-12-04
  • 打赏
  • 举报
回复
因为抽象类的没有实例化任何元素
TonyDaiShui 2002-12-04
  • 打赏
  • 举报
回复
但是我已经象上面那样用了.我在web page 里声明了一个用户控件.然后在一个页面里 用了 myUserControl myUserControl1,然后另外一个页面继承了这个页面,然后把用户控件添加到了那个页面(是不是这样也算实例化了?)
按照上面的说法可以使用.请问为什么?
我的理解对吗?
yarshray 2002-12-04
  • 打赏
  • 举报
回复
当然也不可以你连车都没有生产出来那来的"轮子"的呢??

如果你想要一个4个"轮子"你可以

public class 汽车:车
{
private 轮子;//这里为了保证汽车必须的四个轮子所以不允许其他人来访问所以是私有的
public 汽车(){轮子 = 4;}//构造函数中初试化
}
TonyDaiShui 2002-12-04
  • 打赏
  • 举报
回复
不过如果这样,我不实例化只是声明能否使用他的域?
车 车1;
车1.轮子 = 4;//假设有这个域.
TonyDaiShui 2002-12-04
  • 打赏
  • 举报
回复
明白你的意思了.
yarshray 2002-12-04
  • 打赏
  • 举报
回复
这里在给个例子:
abstract class 车{}

public class 汽车:车{}

车 车1;//可以申明但不可以具体生产出任何产品

车1=new 汽车();//这样可以因为汽车也是一种车,所以可以用车来指代汽车
yarshray 2002-12-04
  • 打赏
  • 举报
回复
首先抽象类不能实例化是因为它不代表那一个具体的事物

而是指的那一类如:我申明一个抽象类车.很显然你并不能

把车这个类来创造某个具体的物体来,你只有派生一个汽车

你才可以生产出来.可是你这样 车 che1=new 汽车();显然

是可以的,因为任何汽车,自行车,摩托车等都可以称为车.
TonyDaiShui 2002-12-04
  • 打赏
  • 举报
回复
但是可以声明啊?
TonyDaiShui 2002-12-04
  • 打赏
  • 举报
回复
明白了,我自己搞错了.ft.
xhan2000 2002-12-04
  • 打赏
  • 举报
回复
抽象类不能实例化

new的时候才会实例化

一般用来继承
idiotzeng 2002-12-04
  • 打赏
  • 举报
回复
你new 的时候会报错的

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧