Re: RFC 171 (v2) my Dog $spot should call a constructor implicitly

[email protected] ("David E. Wheeler")
Newsgroups perl.perl6.language.objects
Organization Salon Internet
Message-ID <[email protected]>
Michael Fowler wrote:
> 
> On Fri, Sep 01, 2000 at 11:41:47AM -0700, David E. Wheeler wrote:
> > Michael Fowler wrote:
> > >
> > >     my Dog $spot;           # $spot is now a blessed Dog object
> > >     $spot->name("Fido");    # $spot->{'name'} eq "Fido"
> > >
> > >     print ref $spot;        # yes, "Dog"
> > >
> > >     $spot = new Dalmation;  # now $spot is a Dalmation object
> >
> > Yes, but the Dalmation $spot will *not* have the name "Fido," will it?
> 
> Nope, $spot is now an entirely new object.

Well then, that makes this example rather wasteful, doesn't it?

  my Dog $spot;
  if ($input eq 'Collie') {
      $spot = Collie->new;
  } elsif ($input eq 'Dalmation') {
      $spot = Dalmation->new;
  }

Becuase we're creating two objects when we really only want one.

David
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.