![]() |
Allgemeiner Text zu OOP
Hallo, ich muss euch noch mal um einen Gefallen bitten.
Zu meinem Klassen Tutorial wollte ich als Vorwort ein paar allgemeien Worte über OOP verlieren. Das habe ich bereits: Zitat:
Zitat:
Ich danke euch jetzt schon mal im voraus für eure Mühe. |
Re: Allgemeiner Text zu OOP
Hm, ich verstehe unter OOP eine Definition WIE der Programmierer zur Entwurfszeit seine Programm-Schnittstellen zu definieren hat. D.h. die OOP ist KEINE prozedurale Programmierung sondern ein Überbau der es ermöglicht strukturiert Schnittstellen zu entwerfen. Dieser Überbau muß die Fähigkeit besitzen zur Laufzeit über die verwendeten Schnittstelle Auskunft zu geben. Dadurch wird es möglich eine strenge Typprüfung und somit mehr Sicherheit in den Schnittstellen zu implementieren. Dies kann prozedurale Programmierung in der Form niemals erreichen.
Es ist also meiner Meinung nach ein Fehler die OOP mit prozeduraler Programmierung zu vergleichen ! Die Mittel OOP umzusetzen basieren teilweise auf prozeduraler Programmierung UND eben den Fähigkeiten des Compilers und dessen IDE. Die Spitze der OOP ist immer das Klassenkonzept. Objecte selber sind nur die zur Laufzeit existenten Datenkontainer deren Schnittstellen durch das Klassenkonzept klar definiert wurden. D.h. um OOP zu erkären muß man mit den Klassen, deren Klassen-Schnittstellen = Klassenmethoden, deren RTTI usw. anfangen. Hat man nun begriffen das ein instantiertes Object immer in Form seines Klassentypes erscheint und arbeitet so wird es leicht zu verstehen was Objecte sind. Im Grunde arbeiten wir nicht OOP sondern COP = Class Orientated Programming zur Entwurfszeit, und OOP zur Laufzeit. Gruß Hagen |
Re: Allgemeiner Text zu OOP
Puh, jetzt muss ich das nur irgendwie in eine lesbareform bekommen.
WEr noch etwas beizutragen hat, nur zu, immer her damit. |
Re: Allgemeiner Text zu OOP
So, ich habe mal versucht das genze etwas in Worte zu fassen:
Zitat:
|
Re: Allgemeiner Text zu OOP
Geht aber vom Verständniss in die richtige Richtung, meiner Meinung nach wohlgemerkt.
OOP soll also die Progammierer dazu "zwingen" strukturiert, wiederverwendbare und sicher erweiterbare Programm-Schnittstellen umzusetzen. Das dies natürlich nur in einer eh schon restriktiven und strukturierten Programmiersprache sinn macht wird dadurch auch erklärbarer. Sozusagen ist es eigentlich Dumpfsinnig OOP in C++ zu integrieren, aber das ist meine ganz eigene Meinung :) Das war die Grundintention solche Konzepte zu entwickeln. Heutzutage MUSS die OOP aber mehr können, wie eben zur Laufzeit der Schnittstellen selber über die Schnittstellen Auskunft zu geben. In Delphi geschiet dies über die Typinformationen = RTTI = Run Time Type Information. Diese sind eine Erweiterung des klassischen Klassenkonzeptes. Ein Überbau dessen sind die Interfaces. Dies stellen selber KEINE Object-Templates so wie Klassen dar, sondern reine OOP orientierte Schnittstellen Definitionen. Worauf dann zur Laufzeit Interfaces aufsetzen ist piep egal, es können Delphi oder C Klassen sein, es können aber auch nur einfache Records oder Structs sein. Dennoch sind Interfaces OOP. Am wichtigsten dürfte es aber erstmal sein zu definieren wie der Programmierer programmiert, und WAS "Schnittstellen" im Programm eigentlich sind und DAS Schnittstellen die Basis jedes Programmes sind. Um so besser und flexibler die Schnittstellen im Program sind, um so besser lässt sich das Program warten, weiterentwickeln und supporten. Sogesehen ist die OOP die Weiterentwicklung des "Schnittstellen" Design's von der proceduralen Programmierung hin zu Object Orientierten Schnittstellen bis hin zu Interfaces als vollständig abstrakte OOP Schnittstellen. Gruß Hagen |
Re: Allgemeiner Text zu OOP
Spitze. Danke.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz