【发布时间】:2015-09-05 17:59:23
【问题描述】:
我是 java 专家,当我像下面这样声明时,我曾经覆盖 java 中对象的方法:
public void main(String[] args){
...
JTextField jtf=new JTextField(){
@override
public boolean isEditable(){
return false;
}
}
}
在 delphi 中有一种方法可以访问方法(函数和过程)并在开始结束之间覆盖它们的主要代码。它可能看起来像这样:
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
SpinEdit1: TSpinEdit;
procedure number(Sender: Tobject);
.
.
.
procedure number(Sender: Tobject);
begin
SpinEdit1.Button.OnDownClick;
begin
SpinEdit1.Increment:=SpinEdit1.Value*2;
end;
SpinEdit1.Button.OnUpClick;
begin
SpinEdit1.Increment:=SpinEdit1.Value div 2;
end;
end;
有没有办法覆盖 OnUpClick 和 OnDownClick ?我试图搜索,但我很幸运找到它的关键字
【问题讨论】:
-
你说的是如何在运行时分配事件方法?你的例子对我来说没有多大意义。
-
我以为我看到你说你是 Delphi 的新手。您是否已经了解如何使用 Object Inspector 在事件处理程序(例如,单击按钮时的处理程序)中添加代码?
-
@TLama in java 这太有用了,因为您可以只为一个对象更改特定方法,而无需创建所有新类和继承,还有 beta 注释。
-
@MartynA 我还没有尝试从 java 迁移到 delphi 。我马上就做,谢谢。
标签: java delphi overriding