Zitat Zitat von ces Beitrag anzeigen
Ja und für welche Problemstellung ist objektorientierte Programmierung unumgänglich?
gar nichts ist hier unumgänglich, auch C++ wurde ja als Erweiterung von C alleine mit den C-Bordmitteln möglich, also kann man es z.B. auch selber ohne die ++ Erweiterung alleine mit ANSI C (C99) schaffen. Java hat dann C++ nur von Grund auf neu erfunden (ohne historischen C-Ballast, sogar main() ist hier eine OOP-Methode).

OOP (C++, Java, Pascal/Delphi, C#,...) macht aber vieles sehr viel einfacher, wenn man eine große Anzahl gleichartig oder ähnlich funktionierender Funktionsstrukturen hat (=> mehrere Instanzen derselben Basis-Objekts), und wenn einige davon sich nur in wenigen Details von anderen unterscheiden (=> Vererbung).
Beispiele:
- Fensterobjekte mit gleichartigen Grundsteuerungen sowie optionalen Menüs und Gadgets in GUI-Applikationen
- Simulationsspiele mit-zig Spielfiguren, die dort alle gleichartige oder ähnliche Grundeigenschaften und Funktionsfähigkeiten haben (Age of Empires, Civilization, Siedler, Fifa, MarioCart, Lemminge, ...)
- Softwaredriver für mehrere Implementierungen von gleichartigen Hardware-Devices (gleichartige Grundobjekte für verschiedene Displays wie bei Adafruit GFX mit identischer API, mehrere Instanzen derselben Device-Objekte, wenn nicht nur 1, sondern viele davon parallel betrieben werden sollen,...)

Es geht auch hier sicher ohne OOP, aber mit OOP muss man nicht immer wieder das Rad neu erfinden.