|
sub new { my ($package, $startvalue, $increment) = @_; $startvalue = 0 unless defined $startvalue; $increment = 1 unless defined $increment; my $self = bless { value => $startvalue, incr => $increment }, $package; return $self; } |
Objekt-Konstruktoren werden per Konvention new genannt
und erhalten als Parameter zunächst einen Zeiger auf
ihr Modul und anschließend die weiteren Parameter,
die explizit übergeben worden sind.
| |
bless erhält als ersten Parameter eine Referenz,
die das Objekt darstellen soll und als zweiten Parameter
das Modul, dem es zugeordnet ist.
| |
Zwar wäre es auch möglich, direkt den eigenen Modulnamen
als zweiten Parameter bei bless anzugeben --
dann wären aber erweiternde Module gezwungen, new
überzudefinieren. Deswegen wird per Konvention immer
der erste Parameter des Konstruktors dafür genommen,
der eben auch ein abgeleitetes Modul sein kann.
| |
Konstruktoren sollten entweder undef (im Falle
eines Mißerfolges) oder das neu geschaffene Objekt
zurückliefern.
|
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |