Thread Perl und OOP (17 answers)
Opened by [E|B] at 2004-05-09 21:42

ronald
 2004-05-10 12:16
#82135 #82135
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
Exporter brauchst du bei OO nicht.
ISA legt die Vererbung fest.

Schnippet:
Code: (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/local/bin/perl -w


# Definition einer Klasse
package Klasse;

sub new {
my $class = shift;
my $self = {};
bless $self, $class;
$self->_init(@_);
$self;
}

# init-Methode, die in Unterklassen übersteuert werden kann
sub _init {
my $self = shift;
$self->{wert} = shift;
}

sub Wert {
my $self = shift;
print "Wert original: ", $self->{wert}, "\n";
}

sub Laenge {
my $self = shift;
print "Laenge original: ", length($self->{wert}), "\n";
}



# Definition einer Unterklasse
package Unterklasse;
@ISA = qw(Klasse); # Definition der Unterklasse

# die Methode "new" wird vererbt.
# auf keine Fall neu definieren.
# Stattdessen _init definieren.

# Uebersteuern einer Funktion
sub Print {
my $self = shift;
print "Print uebersteuert: ", $self->{wert}, "\n";
}


# Hauptprogramm
package main;

$o = Unterklasse->new('wert'); # Erzeugung eines neuen Objekts
$o->Print(); # Aufruf der uebersteuerten Methode
$o->Laenge(); # Aufruf einer Originalmethode

View full thread Perl und OOP