Thread OOP: Einem vorhandenen Objekte weitere Hashes hinzufügen (6 answers)
Opened by Phrosch at 2019-12-05 04:52

rosti
 2019-12-05 09:40
#190949 #190949
User since
2011-03-19
2725 articles
BenutzerIn
[Homepage]
user image
Es empfiehlt sich eine Vorbelegung, siehe new. Ansonsten erklärt sich der Code von selbst.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
sub new{
    my $class = shift;
    my %att = (
        name  => 'Foo',
        vname => 'Bär',
    @_);
    bless{
        name => $att{name},
        vname => $att{vname},
        USER => {}
    }, $class;
}

sub add{
    my $self = shift;
    my $att = shift;
    my $val = shift;
    $self->{USER}{$att} = $val;
}

my $m = main->new(name => 'booooo');
$m->add('PLZ','12345');
puts Dumper $m;

# das gibt aus:
$VAR1 = bless( {
                 'USER' => {
                             'PLZ' => '12345'
                           },
                 'name' => 'booooo',
                 'vname' => 'Bär'
               }, 'main' );


PS: In der Praxis sind Instanzen (Perlobjekte) komplexe Gebilde (Aggregate). Da sind Vorkehrungn zu treffen, daß interne Attribute nicht vershentlich überschrieben werden, siehe add.





MFG

View full thread OOP: Einem vorhandenen Objekte weitere Hashes hinzufügen