
(
Quelle )
Ich möchte meine „5 Cent“ zum unaufhörlichen Streit zwischen Gegnern und Anhängern der PLO beitragen. Aus jüngsten Veröffentlichungen zu diesem Thema geht hervor, dass die Überschrift
„Je schneller Sie OOP vergessen, desto
besser für Sie und Ihre Programme“ , desto friedlicher
„Streiten Sie sich nicht mehr über funktionale Programmierung und OOP“ und die mäßig positive
„Objektorientierte Programmierung in grafischen Sprachen“ ist .
Aber die Idee dieses Artikels veranlasste mich, einen anderen Artikel zu
kommentieren :
Ein gutes Beispiel für OOP ist einfach schrecklich. Das Merkmalssystem implementiert Ihren Fall perfekt und erfordert überhaupt keine Beantwortung der existenziellen Frage der Objektprogrammierung - „Was ist ein Objekt?“. [...] Vergessen Sie die OOP, es war eine erfolgreiche Metapher für die GUI, die sie zum Status einer Religion erheben wollten.
Meiner Meinung nach ist dies ein sehr aufschlussreicher typischer Kommentar, bei dem der OO-Ansatz nicht kritisiert wird (auch OOP in der GUI wird fällig angegeben), sondern die Mythen, die um OOP entstanden sind. Meiner Meinung nach haben alle Recht: Sowohl Unterstützer, wenn sie auf die Bequemlichkeit von OOP hinweisen, beispielsweise beim Programmieren der Benutzeroberfläche, als auch Gegner, wenn sie empört sind, OOP im Status einer Silberkugel, einer absoluten Waffe, zu erhöhen.
Es sollte sofort angemerkt werden, dass jeder OO PL seinen eigenen OO-Ansatz hat, manchmal sehr, manchmal nicht sehr verschieden von anderen OO-Ansätzen. Ich gehe von dem moderaten, einfachen Ansatz von OO Pascal aus, der bereits in Turbo Pascal 5.5 festgelegt wurde und schließlich für Delphi 7 Gestalt annahm (wir können die konzeptionellen Sprachen anderer Hersteller beachten, zum Beispiel Think Pascal für MacOS). Bei diesem OO-Ansatz gibt es grundlegende Prinzipien: Einkapselung, Vererbung (einfach), Polymorphismus; und signifikante Einschränkungen: Zum Beispiel gibt es im Wesentlichen keine sehr komplizierte
Mehrfachvererbung .
Wie ich bereits im
Kommentar zu dem oben erwähnten Artikel geschrieben habe, sah der Übergang von klassischem Pascal zu OO Pascal meiner Meinung nach sehr klar und gerechtfertigt aus:
Die einfachste Kapselung ist bereits in den Datensätzen enthalten. Ferner kommt das Konzept der Vererbung in solch einfachen Beispielen:
type
TCoord = record //
x, y : integer
end;
TRect = record //
leftTop, RBot : TCoord;
end;
«record» «class» ( ), «» .
— , , GUI. « „ ?“». — , — — . . , , ! ( ). — , , . — . , , , , , — , . , . , — . , . ? — : . , . .:
.., .., .. . .
. ., . . 3-, . .: , 2007, . 3 , , . , . . , . : , . , - ;)
,
,
,
., , , . , . — . — , , :
[...] , .. IDE GUI, .
, , , . : « — ». , - , , , . : - . , . (
, , : , , , .) — , , , , .