Thread Ein paar Fragen zur Objektorientierung (4 answers)
Opened by Sven_123 at 2011-03-17 11:24

moritz
 2011-03-17 12:37
#146592 #146592
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
2011-03-17T10:24:05 Sven_123
allerdings hab ich, ausgehend von der Version im Perl6-Tutorial, etwas basteln müssen und ich kann nicht ganz nachvollziehen, warum.


Welches Tutorial?

Quote
Ursprünglich hatte ich es mit einem bloßen has $.augen; versucht, und das twigil . in Anschubsen weggelassen, also $augen = (20.rand+0.5).round;


Ich hab das mal hier erklaert:

Quote
Attributes are declared with the has key word, and have a "twigil", that is a special character after the sigil. For private attributes that's a bang !, for public attributes it's the dot .. Public attributes are just private attributes with a public accessor. So if you want to modify the attribute, you need to use the ! sigil to access the actual attribute, and not the accessor (unless the accessor is marked is rw).


Du muesstest also $!augen = ... schreiben.


Quote
Was genau passiert beim Aufrufen des Konstruktors?


http://perlgeek.de/blog-en/perl-6/object-construct...

An deiner Stelle wuerde ich einfach schreiben:

Code: (dl )
1
2
3
class Wuerfel {
has $.augen = (1..20).pick;
}



Quote
Ist es also generell so, dass Twigils mitgeführt werden müssen?


Ja.

View full thread Ein paar Fragen zur Objektorientierung