Leser: 1
6 Einträge, 1 Seite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
package f; $eins=[1,([2,3],4),5]; sub new {bless{} ;}; sub u {return $eins->[2]}; package g; @ISA=f; @k=(6,7,(8,9),0); sub new {bless{} }; sub v {$f::eins->[2]=@k;} package main; $p=g->new; print $p->u; print "$g::k[3]4"; $p->v; print $f::eins->[2]->[3];
#!/usr/bin/perl
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 33 34 35 36 37 38 39 40 41 42 43 44 45
# Klasse f package f; # Attribut '$eins' ist eine Arrayreferenz $eins=[1,([2,3],4),5]; # Konstruktor # bless ohne Angabe einer Klasse macht es automatisch # bless {}, __PACKAGE__ # gibt ein Objekt zurück sub new {bless{} ;}; # $eins->[2] ist eine Dereferenzierung # siehe http://wiki.perl-community.de/bin/view/Perldoc/perlreftut sub u {return $eins->[2]}; #==============================================================================# # Klasse g package g; # mit @ISA legt man die Superklassen fest # zum Lesen empfohlen: http://wiki.perl-community.de/bin/view/Perldoc/perlboot @ISA=f; @k=(6,7,(8,9),0); # Konstruktur der Klasse g sub new {bless{} }; sub v {$f::eins->[2]=@k;} #==============================================================================# # "Hauptprogramm" package main; # erzeuge ein Objekt von 'g' $p=g->new; # $objekt -> methode ruft 'methode' vom Objekt auf print $p->u; # Zugriff auf ein Attribut der Klasse g print "$g::k[3]4"; $p->v; print $f::eins->[2]->[3];
@k=(6,7,(8,9),0);
@k=(6,7,8,9,0);
6 Einträge, 1 Seite |