Re: RFC 171 (v1) my Dog $spot should call a constructor implicitly
[email protected] (Hildo Biersma)
| Newsgroups | perl.perl6.language.objects |
|---|---|
| Organization | Morgan Stanley Dean Witter & Co. |
| Message-ID | <[email protected]> |
> =head1 TITLE
>
> my Dog $spot should call a constructor implicitly
>
What, then, happens to the following code:
my Dog $spot;
if ($age > 12) {
$spot = new Doberman();
} else {
$spot = new Corgi();
}
Would you seriously propose to create a Dog object, then wipe it in
either branch if the if?
Also, not every class of object can have a default constructor, not is
that always desirable. Let's take a database handle as an example:
my DBI::dbh $handle;
if ($env eq 'test') {
$handle = DBI->connect(... connect to test ...);
} else {
$handle = DBI->connect(... connect to prod...);
}