Thread OOP, erste Schritte (15 answers)
Opened by hlubenow at 2012-02-21 16:20

rosti
 2012-02-21 17:51
#156263 #156263
User since
2011-03-19
3492 Artikel
BenutzerIn
[Homepage]
user image
Quote
denn wenn du vererbung hast, würdest du somit an der erbenden klasse vorbei das attribut direkt aufrufen.


Geerbte Methoden können überschieben werden, auch der Konstruktor und hier können komplett andere Attribute definiert werden. Untenstehendes Beispiel zeigt, dass Attribute NICHT vererbt werden:

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
33
34
35
36
package Foo;
use strict;
use warnings;

sub new{
        my $class = shift;
        return bless {foo => 123}, $class;
}

# public
sub foo{
        my $self = shift;
        return $self->{foo};
}

package Foo::Bar;
use strict;
use warnings;
@Foo::Bar::ISA = qw(Foo);

# Overload
sub new{
        my $class = shift;
        return bless {}, $class;
}

package main;

use strict;
use warnings;
use Data::Dumper;

my $foo = Foo->new;
my $bar = Foo::Bar->new;
print Dumper $foo, $bar;
print $bar->foo; # Use of uninitialized value ...

View full thread OOP, erste Schritte