[linux-l] Re: SW-Design / Modules vs. Objects/Classes
Peter Ross
Peter.Ross at alumni.tu-berlin.de
So Okt 23 15:12:10 CEST 2005
On Sun, 23 Oct 2005, Axel Weiß wrote:
>> | FP-approach: | OO-approach:
>> |
>> ---------------|-------------------------|-------------------------
>> adding a new | add one function, | Must edit all classes,
>> operation over | other functions | adding a new method
>> things | unchanged | to every class
>> ---------------|-------------------------|-------------------------
In Objective-C kann man nachfragen, ob die Methode existiert
(respondsToSelector).
Wenn ja, fuehrt man die Methode aus, wenn nicht, halt nicht..
So kann man z.B. in eine Liste alle moeglichen Objekte dreintun. Und wenn
diese Liste benutzt wird, um etwas zu malen, werden die Objekte nach einer
Paint-Methode gefragt, wenn es sie gibt, kann man das Objekt malen, indem
man die Methode aufruft.
Dazu muessen die Objekte nicht einmal einen gemeinsamen Vorfahren haben.
Das entspricht z.B. dem Messaging bei gaengigen GUIs. Wenn ein Fenster
z.B. eine Message geschickt bekommt, reagiert es nur, wenn es eine Methode
hat, um darauf zu reagieren.
Ich denke, wie man an verschiedenen Beispielen sieht, ist die Tabelle so
starr nicht, es ist von den Features einer konkreten Sprache abhaengig.
Gruss
Peter
Mehr Informationen über die Mailingliste linux-l