Und ist das schlimm? Ich muss die doch nicht nutzen...
sagen wir, es ist Speicher Verschwendung...
Ein Problem dürfte sein, dass man möglichst universell sein will. Am Beispiel TLabel: Einige OS haben da ein OnClick Ereignis, andere nicht, oder führen es in der Zukunft ein, und da will man flexibel bleiben.
Klar, dass führt dann zu mehr Speicher Verbrauch...
OOP ist nicht gescheitert, sondern gilt nur als falsch verstanden. Der entwickler von Smalltalk hat mal gesagt das er allein den Namen OOP bereut, denn es geht eigentlich nicht um Objekte, Vereerbung, etc. das sind nur Nebenprodukte, sondern es geht um Nachrichtenaustausch.
Nachrichtenaustausch... Ich dachte immer es geht um Struktur... Ich habe jetzt ein Problem und das möchte ich möglich gut strukturieren...
Ein Objekt ist eine Abgeschlossene Zelle die mit anderen Zellen über Methoden und Events kommunizieren soll. Dabei sollen Zellen(objekte) sich problemlos weiter entwickeln können (ohne das dabei das alter Interface zerstört wird, dafür gibts vereerbung und interfaces) oder sogar absterben können (also das einfach entfernen von Objekten aus dem Projekt).
Ist ja Interessant.. Daher kommt die OOP?
Was dann genau die Problematik bietet das kleine änderungen in der Basisklasse die vereerbten klassen zerschießen kann.
Richtig, oder das Konzept durcheinander bringen kann... weil dann alles angepasst werden muss...
Z.B. ich füge ein Parameter in einer Methode hinzu, die überall überladen wird...
Man muss seine Klassen ableitung so designen das man theoretisch eine komplette klasse aus der Hirarchie austauschen kann ohne das das Programm zusammen fällt, das machen viele entwickler aber einfach nicht.
Stelle ich mir auch Problematisch vor... wie soll das im Einzelfall gehen?
Nehmen wir als Beispiel wenn möglich eine GUI
Javascripts OOP (ich würde es als absoluten Müll bezeichnen aber andere stehen drauf) kommt ganz ohne klassen aus, sondern die Objekte können zur Laufzeit erzeugt und verändert werden:
JavaScript hat ja keine OOP sondern, Protype oder so ähnlich...
Ich bin aber der Meinung, es ist nicht OOP das gescheitert ist,
Ich glaube das ist die erste wirklich sachkundige Meinung zum Thema in diesem Thread... bitte korrigiert mich wenn ich Falsche liege...
Im großen Enterprise bereich, in dem es eigene Teams von Software Entwicklern gibt die sich nur damit beschäftigen sich ein gutes OOP design zu überlegen, funktioniert es ja wunderbar, bzw. würde es ohne OOP komplett gegen die wand fahren.
Andere sagen wieder, dass OOP in Firmen bereits verboten wurde bzw. nicht verwendet wird....
Ich finde die OOP in sehr vielen Punkte recht gut, nur halt das mit der Vererbung ist so eine Sache...
Zum beispiel Java erlaubt Mehrfach Vererbung, in anderen Sprachen gilt das als Schlechter Programmierstile....
Oder wenn ich irgendwo ein Variable mit einem Datentyp habe und möchte bei dieser Variable den Datentyp in einer weiteren Klasse ändern... das geht, ist aber nicht so toll...
sobald die Projekte größer werden lohnt es sich doch mal sich die Woche zeit zu nehmen und mal mit UML Diagrammen alles von vorne bis hinten durchzuplanen
Ich mache mir in der Regel vorher "Grobe" Gedanken und schreibe sie mir mit einem Text Editor auf.... weil beim Programmieren kann man das eine oder andere schnell "vergessen"...
meisten erstelle ich mir eine reihe von Prototypen, dann weiß ich genau wo hin die "reise" geht... inzwischen bin ich sogar dazu übergangen und sage: dann mache ich das eine bestimmte zeit und erwarte das ich das in der Zeit dann auch schaffe, was auch gut Funktioniert....
Eine art Grober Zeitplan hilft natürlich auch, damit man sich nicht verzettelt...