delphi 数组 Const 子类

iamduo 2010-09-06 05:53:35
type
TMyBaseClass = class
end;

TMyClass1 = class(TMyBaseClass)
end;

TMyClass2 = class(TMyBaseClass)
end;

const
MyClassList : array [0..1] of TMyBaseClass = (
TMyClass1,
TMyClass2); // 这样是错误的

const
MyClassList : array [0..1] of TClass = (
TMyClass1,
TMyClass2); // 这样才可以

我只是想利用一下基类。为什么不可以?
...全文
197 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbycliyong 2012-05-29
  • 打赏
  • 举报
回复
元类是类的指针
这样理解也许会好点
林石公 2010-09-14
  • 打赏
  • 举报
回复
守财奴,鄙视之
强烈鄙视之
随便看能否蹭分
L3nnon 2010-09-14
  • 打赏
  • 举报
回复
这个数组,让我分析到头都大了。。
还是不明白 >.<;;
zcfzcf001 2010-09-08
  • 打赏
  • 举报
回复
呵呵,知识是无价的,我们一直在学习,一直在温故而知新。
YLCN2010 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 iamduo 的回复:]
我是在心疼我的分呐。
刚刚发帖在问为什么的时候,
结果我找到了答案。
其实,这个做法我以前搞过,只不过忘记了。
#12 也就是我的理解方式。

这个做法无非就是为了方便的使用基类的某个方法。
而这个方法是每个子类都会实现,而且是各有不同的实现。
[/Quote]



Harryfin 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 liangpei2008 的回复:]

引用 14 楼 harryfin 的回复:

楼主显然是没搞清楚类和元类的区别

另外
LZ定义的类名也怪怪的,按VCL类命名规则,LZ定义的TMyBaseClass像元类一样,一般都是TMyBase
[/Quote]
这个就是我认为他一时没转过来的主要原因
liangpei2008 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 harryfin 的回复:]

楼主显然是没搞清楚类和元类的区别
[/Quote]
另外
LZ定义的类名也怪怪的,按VCL类命名规则,LZ定义的TMyBaseClass像元类一样,一般都是TMyBase
Harryfin 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 iamduo 的回复:]

我是在心疼我的分呐。
刚刚发帖在问为什么的时候,
结果我找到了答案。
其实,这个做法我以前搞过,只不过忘记了。
#12 也就是我的理解方式。

这个做法无非就是为了方便的使用基类的某个方法。
而这个方法是每个子类都会实现,而且是各有不同的实现。
[/Quote]
有啥好心痛的,又不是RMB,而且结贴有回扣的 -.-
火龙岛主 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 iamduo 的回复:]

我是在心疼我的分呐。
刚刚发帖在问为什么的时候,
结果我找到了答案。
其实,这个做法我以前搞过,只不过忘记了。
#12 也就是我的理解方式。

这个做法无非就是为了方便的使用基类的某个方法。
而这个方法是每个子类都会实现,而且是各有不同的实现。
[/Quote]
iamduo 2010-09-07
  • 打赏
  • 举报
回复
我是在心疼我的分呐。
刚刚发帖在问为什么的时候,
结果我找到了答案。
其实,这个做法我以前搞过,只不过忘记了。
#12 也就是我的理解方式。

这个做法无非就是为了方便的使用基类的某个方法。
而这个方法是每个子类都会实现,而且是各有不同的实现。
L3nnon 2010-09-07
  • 打赏
  • 举报
回复
喔喔。。
吸收~吸收~

谢谢你。。
goodhj 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ty_jiang 的回复:]
array [] of 数据类型
数据类型好像只能是系统默认的
[/Quote]
正解
TMyBaseClassClass = class of TMyBaseClass;//定义了数据类型
const
MyClassList : array [0..1] of TMyBaseClassClass 。。。//当然是正确的

MyClassList : array [0..1] of TMyBaseClass //是类而不是数据类型
还是有区别的吧,没有无缘无故的错
YLCN2010 2010-09-07
  • 打赏
  • 举报
回复
实际运用的话,我们一般都自己封装TObjectList来管理实际运用到的对象。
hongqi162 2010-09-07
  • 打赏
  • 举报
回复
通常都是放到TList里面进行管理
ty_jiang 2010-09-07
  • 打赏
  • 举报
回复
array [] of 数据类型
数据类型好像只能是系统默认的
kye_jufei 2010-09-07
  • 打赏
  • 举报
回复
定義數據類型
TMyBaseClassClass = class of TMyBaseClass;

const
MyClassList:array [0..1] of TMyBaseClassClass;

類:
MyClassList:array [0..1] of TMyBaseClass; 
Harryfin 2010-09-07
  • 打赏
  • 举报
回复
楼主显然是没搞清楚类和元类的区别
hyzhyclcs 2010-09-07
  • 打赏
  • 举报
回复
LS亦是正解···
L3nnon 2010-09-07
  • 打赏
  • 举报
回复
每次数组 (Array) 设定时,常量(Const)都会随伴吗??
为什么,这篇文章的数组要用常量呢?
L3nnon 2010-09-07
  • 打赏
  • 举报
回复
这篇文章跟常量 (Const) 有什么关系??
本人正学习,因为本人也有这样的疑问。。
加载更多回复(5)

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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