2010-11-26 3 views
-1

Ich bin auf der Bühne des Lernens CakePHP, das ist ein OO-basierten Rahmen, aber ich habe kein gutes Verständnis von OO. Ich komme aus dem C-Bereich.denke in OO von einem procedural guy

Ich brauche etwas, das mir helfen kann, in OO Perspektive zu denken. Kannst du mir sagen, was ich tun/lesen/schauen kann .... um mir zu helfen, in OO zu denken.

+0

siehe diese Antwort unter http://StackOverflow.com/Questions/1530868/Simple-Explanation-PHP-Vo-Procedural/1848715#1848715 für Anfänger – JoseK

+0

@RabidMachine: es ist wahr, dass ich nicht zu " akzeptiere ", aber ich ordne alle nützlichen Antworten ein. TY für deinen Rat, ich werde ihm folgen. – dole

Antwort

3

Sie müssen fünf Konzepte verstehen: Klassen; Vererbung; die Vorstellung von privat und öffentlich; Abstraktion; Polymorphismus. Die letzten beiden sind am schwierigsten zu verstehen.

Keine Notwendigkeit für ein Buch, dafür. Lies einfach ein Tutorial über OO PHP. Versuchen Sie ein paar Scheinklassen zu programmieren, verwenden Sie Vererbung und Polymorphie. Stellen Sie sicher, dass Sie diese fünf Konzepte verstehen, bis zu dem Punkt, an den Sie nicht denken müssen, wenn Sie das Wort hören, um sich daran zu erinnern, was sie sind.

Und dann, wenn Sie all das verstanden haben, kaufen Sie einige Bücher über OOP (Kopf zuerst, wie von Boris Pavlovic vorgeschlagen, ist eine gute Wahl).

Dann lesen Sie über Design-Muster, auch wenn Sie nicht beabsichtigen, sie zu verwenden: Frameworks verwenden (und oft Missbrauch!) Design-Muster, so dass Sie sie verstehen müssen re über).

+0

ty für Ihre Antwort. Neben der Abstraktion bin ich gut mit den von dir erwähnten Begriffen. Auf den ersten Blick scheint es in OO auch ein prozedurales Denken zu geben, aber die Objekte vermischen die Daten zwischen ihnen. Ist das richtig? – dole

+0

Ich bin mir nicht sicher, was du meinst. Man könnte sagen (aus C Sicht), dass "OOP" nur Strukturen mit eigenen Funktionen hat. Aber Sie würden das "Abstraktions" -Problem übersehen, und es ist der Kern der Sache. Sobald Sie die Notwendigkeit und die Nützlichkeit der Abstraktion verstanden haben, werden Sie die OOP-Philosophie viel besser verstehen. – Raveline

2

Ich würde empfehlen, GoF Design-Muster zu lesen. vielleicht nicht für den Anfänger, aber ein wirklich hilfreiches Wissen, erklärt es für was OOP hilfreich sein kann. Es gibt eine Reihe von Büchern über Designmuster.

2

Wenn Sie das allgemeine Verständnis von OOP erhalten möchten, können Sie das Buch "Object Oriented Thought Process" beziehen.

1

Im Allgemeinen werden Nomen in Anforderungen in Klassen in Ihrer Anwendung übersetzt. Dies ist keine Faustregel, aber passiert in den meisten Fällen.

Bitte werfen Sie einen Blick auf dieses Buch Object-Oriented-Design-Heuristics by Arthur-Riel.