Schrift
[thread]6324[/thread]

Suche eine Einführung in Objekt Orientiertes Perl (Seite 2)

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Strat
 2004-06-10 00:07
#83223 #83223
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
bei perl sind auch ein paar sehr gute seiten dabei, z.B. perldoc
Code: (dl )
1
2
3
4
      perlboot            Perl OO tutorial for beginners
perltoot Perl OO tutorial, part 1
perltooc Perl OO tutorial, part 2
perlbot Perl OO tricks and examples
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
esskar
 2004-06-10 04:01
#83224 #83224
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[E|B
,09.06.2004, 16:59]*großeaugenmach*

Hilfe, das wird Perl 6 Stil sein? Ist das denn noch Perl??

wieso nicht...
nur weil der -> durch ein . ersetzt wurde?
warum soll einen erweitern der operatoren eine sprache verunstalten?
Crian
 2004-06-10 04:12
#83225 #83225
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Naja, ich meinte mehr solche Sachen: Perl gibt Dir in allem viel mehr Freiheiten. Ein Objekt ist im wesentlichen eine "veredelte" (geblesste) andere Struktur (Hash, Array oder Skalar.

Du kannst Deine Klassen unheimlich dicht nach aussen machen, dichter als es z.B. unter C++ geht (schonmal #define private public vor einem Include gesehen? ;-), aber auch viel loser.

Normalerweise kann man von außen nach belieben an die innere Struktur heran, sofern man diese nicht in den Tiefen von Closures oder auf andere Weise vergräbt. Das hat Vor- und Nachteile.

Du kannst auch alles "sauber" über Getter/Setter abhandeln. (Das würde ich auch empfehlen, für alle nicht-alpha-Klassen.)

"Private" Methoden zeichnen sich durch eine Konvention dadurhc aus, dass sie mit einem Unterstrich beginnen. Und natürlich lassen sie sich von außen aufrufen (nach dem Motto: Anwenderprogrammierer, Du siehst die Methode ist privat, Du darfst sie gerne verwenden, auf eigenes Risiko, aber komme dann nicht nach dem nächsten Versionssprung angeheult, weil Dein Programm nicht mehr läuft.).

Du kannst aber auch Methoden in "privaten" (mit my deklarierten) Funktionsreferenzen (closures) definieren. Dann kamm man sich von außen auf den Kopf stellen, aber man kommt nicht dran.

Ich finde es toll, dass es so ist, Perl lässt einem alle Freiheiten, so offen oder so restriktiv zu sein, wie es einem gefällt.

Trotzdem staunt man von Zeit zu Zeit und manchem ist das alles zu offen. Man muss damitklarkommen, aber ich finds Klasse, wie gesagt.

*Perllobpreis* ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2004-06-08 23:08.