Thread Aufruf von Sub - Klassen mit variablen Namen
(5 answers)
Opened by YAPD at 2021-05-11 16:02
Mit Vererbung:
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 #!/usr/bin/perl use warnings; use strict; package Kernel::Config::Defaults { sub new { my $classname = shift; my $self = {}; return bless($self, $classname); } sub Defaults_Loader { my $self = shift; my $kernelConfig = shift; print $kernelConfig->{home} . "\n"; } } package Kernel::Config { use base 'Kernel::Config::Defaults'; sub Config_Loader { my $self = shift; $self->{home} = 'E:/Programmierung/Aktuell'; $self->{debug_modus} = 'N'; $self->Defaults_Loader($self); } } my $kc = Kernel::Config->new(); $kc->Config_Loader(); Edit: Da war ein Bug: Hatte ein "my $self = shift;" vergessen. Das braucht jede Funktion innerhalb einer Klasse am Anfang (außer new()). Edit2: "$self" ist bereits eine Referenz. Es ist nicht nötig, eine Referenz darauf an eine Funktion zu übergeben (was in Deinem Posting so gemacht wurde), man kann einfach "$self" übergeben. Es repräsentiert dann das ganze Objekt. Auf dessen Attribute man dann zugreifen kann, vgl. den "print"-Befehl. Last edited: 2021-05-11 18:44:18 +0200 (CEST) |