社区
Delphi
帖子详情
一个小问题,每个人都会,可就我不知道
erace992001
2003-09-29 02:04:45
class function 和funcion 有什么区别
...全文
42
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
打赏
举报
回复
一个是类方法,可以通过类和对象来调用
一个是对象方法,只可以通过对象类调用
基于三层感知机实现手写数字识别-内含源码和说明书.zip
基于三层感知机实现手写数字识别-内含源码和说明书.zip
setuptools-40.7.0.zip
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
搭建VGG16神经网络实现图像分类-内含源码和说明书.zip
搭建VGG16神经网络实现图像分类-内含源码和说明书.zip
setuptools-40.6.1.zip
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
华为OD机试D卷 - 判断字符串子序列 - 免费看解析和代码.html
私信博主免费获取真题解析以及代码
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章