http://qs1969.pair.com?node_id=355014


in reply to Functional Inside Out Closure Objects

How would you implement subclassing?

Replies are listed 'Best First'.
Re: Re: Functional Inside Out Closure Objects
by fletcher_the_dog (Friar) on May 20, 2004 at 17:14 UTC
    I haven't quit worked it out yet, but I think I would do something where if "methods" had a second arguement that was a blessed ref, it would not create a new blessed ref, but would just use the blessed ref it was given. Something like this:
    #!/usr/bin/perl package Foo; use Class::FIOC; use strict; sub new { my $class = shift; my $foo_thing = shift; my $subclass = shift || 0; methods { foo_thing=>sub { print "My foo_thing=$foo_thing\n"; } },$subclass; } #!/usr/bin/perl package Bar; use Foo; our @ISA qw(Foo); use Class::FIOC; use strict; sub new { my $class = shift; my $bar_thing = shift; my $self = methods { bar_thing=>sub { print "My bar_thing=$bar_thing\n"; } } return Foo->new("Hello",$self); }