Thread Wie programmiere ich OOP & Moose? (28 answers)
Opened by hlubenow at 2016-12-13 09:58

Raubtier
 2016-12-10 03:12
#185752 #185752
User since
2012-05-04
1054 Artikel
BenutzerIn

user image
2016-12-09T22:14:38 hlubenow
Auf Deine Frage hin wollte ich nun nur mal mein erstes Beispiel (das ich bei OOP immer zuerst mache, z.B. auch in Java, C++ oder Lua) mit Moose machen. Ergebnis: Geht nicht.


Ähm, dass die Frage aber nicht zu deinem Beispiel passt, ist dir schon klar? In deinem Beispiel schreibst du ja auch
Code (perl): (dl )
1
2
my $lamp = Lamp->new();
$lamp->showState();
In dem verinkten SO-Artikel wird aber statt $lamp->showState(); nun nach Lamp->showState(); gefragt, das dann trotzdem auf das state einer konkreten Lampe zugreifen soll. Das ist nicht sinnvoll - wozu sollte man das auch wollen?

Dein Beispiel dagegen ist ganz einfach in Moose:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

package Lamp;
use Moose;

has 'state' => (
    is => 'rw',
    default => 'off'
);

sub showState {
    my $self = shift;
    print $self->state;
    print "\n";
}

package main;

my $lamp = Lamp->new();
$lamp->showState();


Quote
Also, ich glaube, Moose ist nichts für mich: Groß, langsam, unkonventionell, offenbar auch unpraktisch.
Ich glaube, du hast nicht verstanden wie Moose funktioniert. Ich habe jetzt fast keine Moose-Erfahrung (da ich alles größere in C++ mache), aber dein Beispiel ist nun so einfach, dass ich da nicht verstehe, wo das Problem sein soll.

View full thread Wie programmiere ich OOP & Moose?