Thread @ISA (4 answers)
Opened by kristian at 2011-03-23 22:08

rosti
 2011-04-01 22:51
#147296 #147296
User since
2011-03-19
3507 Artikel
BenutzerIn
[Homepage]
user image
noch eine kleine Ergänzung zur Vererbung mit @ISA.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use strict;
use CGI;
our @ISA = qw(CGI);
use Data::Dump qw(dump);
use warnings;

# main Konstruktor
sub new{
        my $class = shift;
        my $self = {};
        $self = $class->SUPER::new; # Attribute erben
        return bless $self, $class;
}

my $q = main->new;

printf "%s%s", $q->header(-charset=>'UTF-8'), dump $q;


In Zeile 3 wird die Superklasse genannt: CGI
main::new() schafft somit ein Objekt, was von CGI erben soll. Die Methoden CGI::methods werden ohne Weiteres geerbt. Zum Erben der Attribute gibt es einen kleinen Trick:

Zeile 11:
Ruft den Konstruktor der Superklasse.

Teste dump $u mit oder ohne Zeile 11.

View full thread @ISA