Objekt-Konstruktoren

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Counter.pm
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.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003