OOP nimmt einen "problemorientierten" Ansatz zur Programmierung im Gegensatz zu der traditionelle "maschinenorientierte" Ansatz in Sprachen wie C und Pascal verwendet. Das Lernen von OOP kann ziemlich schwierig sein, wenn Sie ausführlich in prozeduralen/funktionalen Sprachen programmiert haben. Es ist für diese Programmierer, dass die Dinge eher verwirrend sind. Wenn Sie neu in der Programmierung sind, werden Sie wahrscheinlich Dinge viel weniger verwirrend finden, da Sie mit einem neuen Geist beginnen.
Nachdem ich das gesagt habe, habe ich viele Programmierer gesehen, die ausführlich mit Sprachen wie Java gearbeitet haben und behaupten, gute OOP-Programmierer zu sein, wenn sie wirklich weit davon entfernt waren. Sicher verwenden sie Java-Sprachfunktionen wie Schnittstellen, Vererbung usw. und erstellen Objekte, die Instanzen von Klassen sind, und senden eine Nachricht an ein Objekt. Die meisten Leute benutzen eine Menge OOP-Jargon, weil sie ihm ausgesetzt sind. Aber wenn es darum geht, eine einfache Anwendung zu schreiben, entlarvt ihr resultierender Code ihr schlechtes Verständnis.
Ich rate Ihnen, nicht in Jargon allein gefangen zu werden. Frage und lerne die zugrundeliegenden Konzepte gewissenhaft. Sie könnten Ihr erstes Semi-Nirvana (wie ich) haben, wenn Sie Polymorphie lernen und die Vorteile, die es für die Wiederverwendbarkeit des Codes bringt. Ein weiteres Seminirvana, wenn Sie die Kompromisse zwischen Wiederverwendung durch Vererbung und Wiederverwendung über Komposition verstehen. Am Ende werden Sie wissen, dass Sie OOP gut verstanden haben, wenn Sie in der Lage sind, gut zu entwerfen, oder besser gesagt, ein gutes OO-Design ist ein gutes Maß dafür, wie gut Sie OOP verstehen.
Wenn Sie OOP ernst nehmen, sollten Sie die ersten beiden Kapitel der GOF book on Design Patterns lesen. Es mag ein wenig schwierig für neue Programmierer sein, aber es legt den Kern des Denkens hinter OOP. Dieses Buch ist eine wichtige Referenz, die jeder ernsthafte OOP-Programmierer haben sollte. Wenn Sie die Konzepte in diesem Buch gut verstehen, halten Sie sich für einen guten OO-Programmierer.
Könnten Sie bitte näher erläutern, was Sie verwirrend finden? – Rik
+1 zu Rik. Kannst du uns mehr erzählen? –
Was ist die Grundidee in OOP und warum finden Sie es verwirrend? Für mich ist es "Klassen sollten die einzigen Module sein" und es ist nicht verwirrend. –