[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