Movatterモバイル変換


[0]ホーム

URL:


Named code blockes

D-Mandsh8290 at rit.edu
Tue Apr 24 13:51:27 EDT 2001


On Tue, Apr 24, 2001 at 06:05:30PM +0200, Alex Martelli wrote:| "D-Man" <dsh8290 at rit.edu> wrote in message| news:mailman.988076385.11192.python-list at python.org...| > On Mon, Apr 23, 2001 at 04:49:01PM -0700,James_Althoff at i2.com wrote:| > || > | <jim response>| > || > | In Java unnamed (anonymous, inner) classes| > | are used all over the place in Swing-GUI code.| > | Not advocating -- just pointing it out.  :-)| > || > | </jim response>| >| > IMO that is a kludge to work-around for a significant language| > deficiency -- if functions (and classes) were first-class objects the| > function object itself could be passed as the event handler!|| It seems that when one CAN does something, one DOES do it:-).|| I have never agreed with the Borland/Microsoft position that| the lack of first-class callables is a "huge gaping hole" in| Java (the same excellent software architect who did Delphi| for Borland then moved to Microsoft to do similar frameworks| for them -- first for Java enriched with first class callables| called "delegates", then for C# who also has such constructs --| may be responsible for both firms' "position" in this:-).  IInteresting history.I think some of your|my opinion might have to do with background.  Idid my first GUI work using gtk--, a C++ wrapper around GTK which iswritten in C.  I would have a window class something like :class Window : public Gtk::Window{    public void on_button1_relased( Gtk::ButtonEvent event )    {        // do something with the window, possibly enabling/disabling        // other buttons    }    public void on_button2_relased( Gtk::ButtonEvent event )    {        // do something with the window, possibly enabling/disabling        // other buttons    }    public Window()    {        button1->add_callback( &Window::on_button1_released ) ;        button2->add_callback( &Window::on_button2_released ) ;    }}(it has been a while since that project, so I don't remember all thenames exactly)When I started working with Swing I thought it was really bad designto have _all_ (button) events go through a single method"actionPerformed", then that method would be like    if ( is button1 )    {        on_button1_released()    }    else if ( is button2 )    {        on_button2_released()    }Then I learned that instances of inner classes have access to theouter class's instance's private data.  (no breaking encapsulationhere, right <wink>).I think the registering of a callback is a nicer way of achieving theresults, but that is just my preference.-D


More information about the Python-listmailing list

[8]ページ先頭

©2009-2025 Movatter.jp