Thread OOP - eigenschaften vererben (10 answers)
Opened by norman at 2006-01-28 15:08

renee
 2006-01-29 02:22
#62384 #62384
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Normalerweise werden auch nicht fuer eine Person zwei Objekte erzeugt, sondern nur eins! Und zwar von der abgeleiteten Klasse. Das ist nicht nur in Perl so, sondern ueberall...

BasisKlasse.pm
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
package BasisKlasse;

use strict;
use warnings;

sub new{
my ($class,%args) = @_;
my $self = {};
bless $self,$class;

$self->{Name} = $args{name} || "testname";
$self->{Birthday} = $args{birth} || "00.00.0000";

return $self;
}

sub name{
my ($self,$name) = @_;
$self->{Name} = $name if(defined $name);
return $self->{Name};
}

sub birth{
my ($self,$birth) = @_;
$self->{Birthday} = $birth if(defined $birth);
return $self->{Birthday};
}

1;


AbgeleiteteKlasse.pm
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package AbgeleiteteKlasse;

use strict;
use warnings;
use base qw(BasisKlasse);

sub new{
my ($class,%args) = @_;
my $self = $class->SUPER::new(%args);
$self->{Position} = $args{position} || "Angestellter";
return $self;
}

sub position{
#... mach was
}

1;


skript.pl
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;
use lib qw(.);
use AbgeleiteteKlasse;

my $mitarbeiter = AbgeleiteteKlasse->new(name => 'Rainer', birth => '12.12.1947',position => 'Sachbearbeiter');

print "Name: ",$mitarbeiter->name(),"\n",
"Geburtsdatum: ",$mitarbeiter->birth(),"\n";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread OOP - eigenschaften vererben