Wenn ich eine neue Sprache lerne, programmiere ich oft einige mathematische Funktionen, um mich an die Syntax des Kontrollflusses zu gewöhnen. Danach möchte ich einige Sortieralgorithmen implementieren, um mich an die Array/List-Konstrukte zu gewöhnen.Was ist eine gute Standardübung, um die OO-Funktionen einer Sprache zu lernen?
Aber ich habe keine Standardübung zum Erforschen der Sprachen OO Funktionen. Hat jemand eine Aktienübung dafür?
Eine gute Antwort würde natürlich für Vererbung, Polymorphismus, usw., für einen Programmierer verleihen, der bereits mit diesen Konzepten vertraut ist. Eine ideale Antwort wäre eine, die in wenigen Worten ohne Zweideutigkeit in der Art und Weise, wie "Mergesort implementieren" völlig eindeutig ist, kommuniziert werden kann. (Als Beispiel ist das Beantworten von "Entwerfen eines Spiels" so vage, dass es nutzlos ist.)
Irgendwelche Ideen?
EDIT: Ich muss bemerken, dass die Ergebnisse hier etwas ironisch sind. 10 upvotes und (ursprünglich) 5 Favoriten deuten darauf hin, dass dies eine Frage ist, an der andere interessiert sind. Doch die am häufigsten gestellte Antwort ist eine, die sagt, dass es keine gute Antwort gibt. Naja. Ich denke, ich werde mir das folgende Lehrbuch ansehen, ich habe Spiele gefunden, die in der Vergangenheit für OO nützlich waren.
@FarmBoy: sicherlich hängt es wie vertraut das Konzept oder Vererbung und Polymorphie sind. Subtyp-Polymorphismus? parametrischer Polymorphismus? äußerer Polymorphismus? (Sie können alle in Java zum Beispiel gemacht werden), einzelne Vererbung? Mehrfachvererbung? Interessiert es dich, wie die "OO" -Sprache, die du lernen möchtest, ADTs ausdrücken kann oder bist du glücklich mit den Idiosynkrasien der Sprache? Ich denke, eine Antwort in ein paar Worten, ohne Zweideutigkeiten, aber ich bin mir nicht sicher, ob Sie es mögen :) – SyntaxT3rr0r
@WizardOfOdds: Ich bin nicht auf der Suche nach all den Eigenheiten der Sprache. Die Implementierung von vier Sortieralgorithmen sagt mir nicht alles, was die Sprache in Bezug auf lineare Datenstrukturen zu bieten hat, aber es bringt mich in Schwung. Ich suche etwas Analoges. –
Objektorientierte Programmierung wurde erfunden, um die Probleme großer Projekte zu lösen. Per Definition kann es kein Spielzeugprojekt geben, das OOP voll ausnutzt. –