Schrift
[thread]7023[/thread]

OOP: Variable erben



<< >> 6 Einträge, 1 Seite
the_brain
 2005-05-31 11:37
#55181 #55181
User since
2004-08-19
30 Artikel
BenutzerIn
[Homepage] [default_avatar]
hi, der code meiner basisklasse sieht so aus:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
package Lanas::BaseClass;
use Env qw ( REMOTE_USER SCRIPT_NAME DOCUMENT_ROOT GATEWAY_INTERFACE MOD_PERL HTTP_REFERER HTTP_USER_AGENT );
# use warnings;
# use diagnostics;
use strict;
use vars qw( %key $USE_MOD_PERL );
*key = \%Lanas::Base::key;

use subs qw(exit);


nun will ich in jeder abgeleiteten klasse auf $key{BLA} zugreifen können - das geht leider nicht. kann mir hier jemand einen tipp geben? Muss ich die mit exporter evtl. erst exportieren bzw. importieren?

Vielen Dank
Gruss
Martin
Taulmarill
 2005-05-31 12:12
#55182 #55182
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ich hab was in den perl OO docs gefunden, was dir weiterhelfen sollte. siehe http://perldoc.perl.org/perlbot.html#INSTANCE-VARIABLE-INHERITANCE\n\n

<!--EDIT|Taulmarill|1117527183-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
esskar
 2005-05-31 12:57
#55183 #55183
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Taulmarill,31.05.2005, 10:12]ich hab was in den perl OO docs gefunden, was dir weiterhelfen sollte. siehe http://perldoc.perl.org/perlbot.html#INSTANCE-VARIABLE-INHERITANCE[/quote]
obwohl man im Konstruktor von Foo doch lieber SUPER anstatt Bar verwenden sollte!
Taulmarill
 2005-05-31 13:21
#55184 #55184
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
je nach dem wie komplex die vererbung ist, kann das manchmal nicht so einfach möglich sein. im zweifelsfall kann man auch NEXT verwenden.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
the_brain
 2005-05-31 13:32
#55185 #55185
User since
2004-08-19
30 Artikel
BenutzerIn
[Homepage] [default_avatar]
jo danke,

aber damit kann ich dann ja nur auf %{$self->{key}} zugreifen - nicht weiter schlimm - aber ich will ja gerade den typeglob haben. so dass ich in jeder abgeleiteten klasse über diesen alias auf die variable zugreifen kann, ohne in jeder klasse den typeglob zu definieren (denn dann geht das auch)
sri
 2005-05-31 13:44
#55186 #55186
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code: (dl )
use Class::Data::Inheritable;
<< >> 6 Einträge, 1 Seite



View all threads created 2005-05-31 11:37.