In Python werden Objekte einer Klasse, z.B. einer Klasse "Config", stets mit deren Funktion "__init__" initialisiert. Deren erster Parameter notwendig dieses "self" ist.
Das heißt, wenn Du ein Objekt der Klasse "Config" initialisiert, wird automatisch deren Methode "__init__" aufgerufen. Eine Methode "Initialize" wird nicht verwendet (und wäre überflüssig). Und soweit ich weiß, sind Klassenname wie hier "Config" auch festgelegt und können nicht Variablen zugewiesen werden.
class Config:
def __init__(self, test):
self.test = test
print self.test
c = Config("test")
Natürlich kann hier "c" ein Objekt der Klasse "Config" sein, oder einer beliebigen anderen Klasse, im Sinne von "c = Wasweissich()".
Und natürlich kann man sowas machen:
if var1 == 1:
c = Config()
else:
c = Wasweissich()
Das Beispiel oben entspricht diesem Perl-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use warnings;
use strict;
package Config {
sub new {
my $classname = shift;
my $self = {test => shift};
print $self->{test} . "\n";
return bless($self, $classname);
}
}
my $c = Config->new(test => "test");
Näheres zu Perl-OOP auf
meiner Seite.
Last edited: 2021-07-28 22:08:13 +0200 (CEST)