Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以在delphi中更改方法体(重写对象方法)?_Java_Delphi_Overriding - Fatal编程技术网

Java 是否可以在delphi中更改方法体(重写对象方法)?

Java 是否可以在delphi中更改方法体(重写对象方法)?,java,delphi,overriding,Java,Delphi,Overriding,我是java专家,在声明java对象时,我常常覆盖java对象的方法,如下所示: public void main(String[] args){ ... JTextField jtf=new JTextField(){ @override public boolean isEditable(){ return false;

我是java专家,在声明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中没有类似的功能。您需要显式派生一个子类并重写其中的方法。您不能像在Java中演示的那样内联完成它。即使如此,您也只能覆盖已声明为
virtual
dynamic
的方法


但如果您想声明一个事件处理程序,则不需要创建子类。在表单中声明事件处理程序并将其附加到事件。最简单的方法是双击对象检查器中的事件

您正在谈论如何在运行时分配事件方法吗?你的例子对我来说没有多大意义。我想我看到你说你是德尔福的新手。您是否已经了解了如何在事件处理程序(例如,单击按钮时的处理程序)中添加代码是否使用对象检查器?@TLama in java这太有用了,因为您可以只为一个对象更改一个特定的方法,而不必创建所有新的类和继承。还有beta注释。@MartynA还没有。我正在尝试从java迁移到delphi。我现在就做,谢谢。