?
Hi,
nochmal zur eigentlichen Frage:
"wenn man erst mal mit C anfängt und das solange macht, bis man die Grundlagen wirklich versteht"
Und genau in dem "bis man die Grundlagen wirklich versteht" liegt der Hase im Pfeffer. Die Grundlagen sind soliedes Handwerk, oop ist dagegen in erster Linie ein Denkmodell was dahinter liegen muß.
Das ist wie beim Häuslebauen. Da kann einer noch so viel von Static und Design und Architektur verstehen, wenn er die Grundlagen des Mauerns nicht beherrscht fällt die ganze Bruchbude ein.
Da wir hier keine Sekte gründen wollen kommt es doch nicht in erster Linie auf die reine Lehre an.
Auch oop bestehrt aus den Grundlagen plus eben noch was dazu. Klassen werden schließlich nicht mit Murmeln gefüllt sondern mit Anweisungen.
Außerdem sind immer noch viele, die sich die ganze Sache im Selbstlauf beibringen.
Selbstverständlich ist es nicht so schwer, jemandem beizubringen was Klassen und Klassenfunktionen sind. Aber das kratzt doch höchstens an der Oberfläche. Die eigentliche oop beruht doch nicht darauf, das ich das was ich füher in einzelnen Dateien gemacht und mit static versteckt habe nun in Klassen zu stecken und mit private zu verstecken.
Die eigentliche oop beginnt doch da, wo ich mir über Abstraktion von Dingen Gedanken mache, über Schnittstellen zur Außenwelt und zu Nachfolgern nachdenke, mir Gedanken darüber mache was Gemeinsamkeiten und Unterschiede sind und was wovon abhängt und abgeleitet werden könnte.
Oder um bei Meyers zu bleiben bei den verschiedenen Katzen, die alle ihre eigenen liebenswerte Art zu schlafen und zu fressen haben. Erkennen, daß ich es hier mit Klassen zu tun habe, aber auch gedanken darüber machen, was nehme ich als "Basiskatze", eine Katze, oder besser ein Säugetier weil ich vielleicht auch Hunde ableiten will...
Da sind die Dinge, die nicht mal so En passant zu lernen sind, vor allem ohne Lehrer und ohne Verständnis der Grundlagen.
Warum soll andererseits alles oop weggelassen werden. Auch Anfänger wollen nicht nur Hello World schreiben sondern auch mal was fürs Auge machen, was motiviert. Spätestens, wenn sie das mit dem C++Builder machen und sich da ein Formular zusammenklicken sind sie voll drin in der oop, auch ohne auch nur eine einzige eigene Quelltextzeile geschrieben zu haben. Dabei lernen sie oop dann gleich am praktischen Beispiel (ein Formular, abgeleitet von TForm) kennen. Und sobald sie eine eigene Komponente von was vorhandenen ableiten ist es nicht nur formelles oop, sondern dann MUSS ich mir Gedanken machen wie es funktionieren soll. Wovon leite ich ab, von TEdit oder TCustomEdit. Was will ich überschreiben, was sichtbar machen. Welche zusätzlichen Dinge brauche ich. Dabei kann man wenn man es ernsthaft macht eine gewaltige Menge über oop lernen.
Gruß Mümmel