Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
ClassWithAnonHash.pm
# ClassWithAnonHash.pm -- Objektattribute in einem anonymen Hash.
# Generisches Beispiel.
package ClassWithAnonHash;
sub new {
my $classname = shift;
my $ptr = {}; # Anonymer Attributhash
bless($ptr, $classname);
$ptr->_init(@_); # Attribute speichern
return $ptr;
}
sub _init {
my $obj = shift; # Das zu initialisierende Objekt
my %param = @_; # AttrX => ValX, AttrY => ValY, ...
%{ $obj } = %param; # 1:1-Zuweisung von Hashes
}
sub getAttributeNames {
my $obj = shift; # Das betroffene Objekt
return keys %{ $obj }; # Die Namen seiner Attribute
}
sub getAttribute {
my $obj = shift; # Aus welchem Objekt?
my $attr = shift; # Welches Attribut?
return $obj->{$attr}; # Okay, das stimmt.
}
sub setAttribute {
my $obj = shift; # Welches Objekt?
my $attr = shift; # Welches Attribut?
my $newval = shift; # Neuer Wert.
$obj->{$attr} = $newval; # Jawohl, neuer Wert.
}
1;
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:55:50 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|