Thread Konstruktorverständnis (18 answers)
Opened by leo11 at 2009-06-27 21:01

murphy
 2009-06-27 22:47
#122684 #122684
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
sub new {
    my ($caller, %arg) = @_; # $caller <- Paket oder Objekt, %arg <- restliche Argumente
    my $caller_is_obj = ref($caller); # Aufruf als Objekt- oder als Klassenmethode?
    my $class = $caller_is_obj || $caller; # Egal ob der Aufruf als Objekt- oder Klassenmethode erfolgte, $class <- Klassenname 

    no strict "refs"; # Erlaube Zugriff auf Paketvariablen der Klasse über symbolische Referenzen

    my $self = bless [\%{"${class}::FIELDS"}], $class;  # Erzeuge eine Arrayreferenz, die als erstes Element eine Referenz auf die Hashvariable FIELDS des Klassenpaketes enthält, und verwandle sie in eine Instanz der Klasse.

    ...
}
When C++ is your hammer, every problem looks like your thumb.

View full thread Konstruktorverständnis