社区
数据库相关
帖子详情
Ta = class of Tb
xiaoyao800
2003-08-22 10:18:50
这行代码什么意思 :Ta = class of Tb
类 Ta 跟 类 Tb 是什么关系?
...全文
35
11
打赏
收藏
Ta = class of Tb
这行代码什么意思 :Ta = class of Tb 类 Ta 跟 类 Tb 是什么关系?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huojiehai
2003-10-11
打赏
举报
回复
类的类 类型,使用好处,可以简单化代码,如一个主窗口中可能有很多菜单都是打开窗口中定义一个函数procedure Test2(A: TFormClass),每一个Click中哪要打开的窗口的类去调用就行了如:
procedure TForm1.Button1Click(Sender: TObject);
begin
Test2(TForm1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Test2(TForm);
end;
如果不这样可能就需要写很多 Test2中实现在大体一样的代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
TFormClass = class of TForm;
procedure Test2(A: TFormClass);
var
aa: TForm;
begin
aa := a.Create(Application);
try
aa.ShowModal;
finally
aa.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Test2(TForm1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Test2(TForm);
end;
end.
4water
2003-10-11
打赏
举报
回复
为什么要调用 类的“类方法”?
nyf1220
2003-10-11
打赏
举报
回复
这是“类之类”,也就是所谓的类引用,
类之类可以直接调用类的“类方法”
ghostmaster
2003-10-11
打赏
举报
回复
up~~
4water
2003-10-11
打赏
举报
回复
顶
FrameSniper
2003-10-11
打赏
举报
回复
To 4Water
类方法针对的操作对象是当前类的所有实例,除此以外,类方法还可以直接针对类的相关信息进行操作,例如ClassName等。可以通过这些方法获取类的信息(与RTTI有部分关系)。
类方法可以通过类名称或对象名称进行调用
FrameSniper
2003-10-11
打赏
举报
回复
To HuoJieHai
个人感觉你上面这个说法似乎有问题哦!
首先类引用类型的主要目的并不是为了简化代码!类引用类型好一个记录指针,如果你把类理解成记录,那么指向这个记录的指针就好比我们这里提到的类引用类型。我们知道,定义记录指针是为了加快访问速度,同样,通过类引用类型来对类的内容进行访问也可以提高速度!而不是简单的简化代码。
至于你上面举的这个例子,我有点疑惑:你的Test2使用的形参A我感觉没有任何用处!而且即使使用了这个形参,个人感觉使用这种方式来简化多个界面元素动态调用同一窗体的问题似乎也有点牵强了!
movingboy2
2003-08-22
打赏
举报
回复
通常当你需要一个类型,而不是一个实例的时候可以这样用。例如:
TFormClass = class of TForm;
procedure Test1(A: TForm);
procedure Test2(A: TFormClass);
Test1的参数A需要一个TForm的实例
Test2的参数A需要一个TForm的类型
什么类型才是TForm类型呢?
包括TForm本身及TForm的所有派生类
这在实现抽象的时候很有用
yoisyois
2003-08-22
打赏
举报
回复
不好意思,错了,
Ta声明为Tb的类引用,就是类之类
yoisyois
2003-08-22
打赏
举报
回复
不好意思,错了,
Ta声明为Tb的类引用,就是类之类
yoisyois
2003-08-22
打赏
举报
回复
Ta是Tb的子类,
或者
从Tb继承得到新的派生类Ta
〖程序设计基础〗练习题3及答案
public
class
SumOfArray _______ Applet { public void paint( Graphics g ) { int a[] = { 1, 3, 5, 7, 9, 10 }; int to
ta
l=0; for ( int i = 0; i ; i++ ) to
ta
l+=_____________; g.drawString( "To
ta
l of ...
local
class
incompatible: stream
class
desc serialVersionUID = 61,local
class
serialVersionUID = 1
序列化失败: 场景:一个JPA实体类Person 业务层使用redis缓存 一开始没有添加serialVersionUID ,使用默认的,后面改为手动指定,结果就出现序列化失败。...@
Ta
ble(name = "
tb
_person") @Da
ta
@Builder @NoArgsConstr
Leetcode 371. Sum of Two Integers
https://leetcode.com/problems/sum-of-two-integers/description/
class
Solution { public: int getSum(int a, int b) { while (b) { int
ta
= a^b; int
tb
= (a & b) ...
python-tuple(元组)
tuple (元组) ...
TA
= () print(type(
TA
)) # 当用小括号创建一个元素的 tuple 的时候
Ta
= (100) print(type(
Ta
)) # 后边加 , 表示元组类型
ta
= (100,) print(type(
ta
))
tA
= (100,200,300,400) pri...
autoboxing and unboxing
Why does 128==128 return false but 127==127 return true 1 public s
ta
tic void autoboxingUnboxing(){ 2 Integer
ta
= 127; 3 Integer
tb
= 127; 4 Integer tc = 128; 5 ...
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章