社区
Delphi
帖子详情
一个小问题,每个人都会,可就我不知道
erace992001
2003-09-29 02:04:45
class function 和funcion 有什么区别
...全文
39
8
打赏
收藏
一个小问题,每个人都会,可就我不知道
class function 和funcion 有什么区别
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
erace992001
2003-09-29
打赏
举报
回复
谢谢各位!!!
netwizard
2003-09-29
打赏
举报
回复
MyClass = class(TObject)
public
class function MyFunc1: Boolean;
function MyFunc2: Boolean
end;
函数前有class说明这是一个类方法,那意味着MyFunc1在MyClass没有创建时也可调用,而MyFunc2必须在MyClass类创建后才可访问。
由于MyFunc1在类没有创建时即可调用,那么意味着类方法中不能调用MyClass中的其它特性和方法。详情参见Delphi的联机帮助。
jinkang
2003-09-29
打赏
举报
回复
class function是指类可以调用的函数,(C++叫用static表示),它在未声明对象时也可使用。它是类本身的属性,和具体的对象无关。
如一个类的名称:classname 可以写成class function
funcion 只能在声明的对象中使用,如该对象的一个具体属性。
jacky_shen
2003-09-29
打赏
举报
回复
类引用类型
类引用类型有时叫做元类(metaclass),表示类引用类型的结构具有如下形式
class of type
这里的type是任何类类型。标识符type自身表示一个值,它的类型是type类。如果type1是type2的祖先,那么type2的类与type1的类是赋值兼容的。因此,
type TClass = class of TObject;
var AnyObj: TClass;
这里声明一个叫做AnyObj的变量,用于可以保存对任何类的引用。(类引用类型的定义不能直接出现在变量声明或参数列表声明中。)可以把值nil赋给任何类引用类型的变量。
要明白类引用类型是如何被使用的,可以查看TCollection(Classes单元中)的构造器声明:
type TCollectionItemClass = class of TCollectionItem;
...
constructor Create(ItemClass: TCollectionItemClass);
这里的声明表明,要创建TCollection的实例对象,就必需向构造器传递TCollectionItem类或自该类派生的类的名称。
编译时,想要调用类或对象的类方法或者虚拟的构造器,而不知道其实际类型时,类引用类型是有用的。
构造器和类引用
构造器可以被类引用类型的变量调用。这就允许在编译时构造类型未知的对象。例如,
type TControlClass = class of TControl;
function CreateControl(ControlClass: TControlClass;
const ControlName: string; X, Y, W, H: Integer): TControl;
begin
Result := ControlClass.Create(MainForm);
with Result do
begin
Parent := MainForm;
Name := ControlName;
SetBounds(X, Y, W, H);
Visible := True;
end;
end;
上面的例子中,CreateControl函数需要一个类引用类型告诉它何种控件被创建。该函数用这一参数调用类的构造器。因为类类型标识符表示类引用的值,所以对CreateControl调用可以指定类的标识符以创建相应的对象。例如,
CreateControl(TEdit, 'Edit1', 10, 10, 100, 20);
用类引用调用的构造器通常是虚拟的。运行时类引用的类型决定了构造器在调用时的具体实现。
dickeybird888
2003-09-29
打赏
举报
回复
哈哈!
sailer_shi
2003-09-29
打赏
举报
回复
第二个在类中无法调用的
FrameSniper
2003-09-29
打赏
举报
回复
一个是类方法,可以通过类和对象进行调用
一个是成员方法,只可以通过对象进行调用
FrameSniper
2003-09-29
打赏
举报
回复
一个是类方法,可以通过类和对象来调用
一个是对象方法,只可以通过对象类调用
java获取每月最后一天
一个
小
问题
,成为了
一个
坑。 相信大家对这个题目——Java获取每个月的最后一天——都不陌生吧。其实,不纠结于最后一天啦,也可以是上个月的最后一天,下个月的第一天,等等之类的。我发现网上都是写好的一些例子,...
所有失去的都
会
以另一种方式归来
换
一个
城市是不是更快乐、离开现在的工作是不是就
会
有前途、结束一段关系是不是就幸福了,这些困扰的
问题
你都
会
从他的书里找到答案。他用文字来告诉每一
个人
,所有的困境都是来自内在的心境,单身不可怕,失恋不可怕...
小程序成長之路_给页面添加tabBar 和 添加tabBar时的注意事项 (三)
上篇博客我们已经成功创建页面,并且显示我们自己所创建页面的内容,那么我们都
知道
每个项目下面都
会
有tabBar,当然大部分都有,也不排除没有的情况啊,那么这篇我主要是来添加
一个
tabBar并,且总结一下写的过程中
一个
...
网络收集的逻辑思维题
一个
有意思的逻辑训练题目 题目如下: 有两个大于1小于100的自然数x,y,老师告诉小明两个数的和,告诉小强两个数的积。已知小明和小强足够聪明。 下面是两
个人
的对话: 小强:我不
知道
这两个数是...
智力题
每个正式的笔试、面试都
会
出,而且在面大企业的时候必然
会
问到,笔者曾在很多面试中,都被问到过,不过答得都不是很好,因为时间很短,加上我们有时候过于紧张,所以做出这类
问题
,还是有一定的难度,从这篇文章中我...
Delphi
5,390
社区成员
262,735
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章