hotti: Konstruktor

Beitrag lesen

Klar. Gehen tut beides. Aber wo liegen die Vor- und Nachteile?

Was, es geht Beides!? Schlamperei ;-)

Ne, mal im Ernst, Paul: Ein Konstruktor erzeugt ein Objekt, eine Instanz der Klasse. Damit dürfte doch klar sein, wo der hingehört. Wenn in Deinem Programm mehrere Objekte rumschwirren, sollten die auch wissen, zu welcher Klasse die gehören.

Disziplin! In Perl ist package main; der Namespace in dem das Programm abläuft. Ein Objekt der Klasse "main" erstellen? Kein Problem, das geht:

  
package main;  
  
# Variante 1  
my $o = new();  
sub new{  
  return bless [];  
}  
  
# Variante 2  
my $o = main->new();  
sub new{  
  my $class = shift;  
  return bless [], $class;  
}  

Also, wenns mich fragen: Variante 2 ist übersichtlicher auch ohne Kommentar.

Hotti