Next February 2001 Slide #17

Class vs. Object Methods

         Person->new();         Person::new('Person');
        $hamlet->age();         Person::age($hamlet);
         Person->new(...);      Person::new('Person', ...);
        $hamlet->age(...);      Person::age($hamlet, ...);
        sub new {
          my $self = shift;
          my $class = (ref $self) || $self;
          my $new = (ref $self) ? {%$self} : {};
          ...
          bless $new, $class;
        }
        # Call this as either of:
        Person->new(...);
        $p->new();


Next Copyright © 2001 M-J. Dominus