| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Willst du wirklich sowas coden? PHP-Code: Lev |
|
| | |
| Gast
Beiträge: n/a
| Also im Prinzip muss man selber wissen wie man auskommt meine Meinung dazu ist einfach man sollte selber zusehen was man braucht und in welchem Umfang man es braucht. Wenn man bei seinem gegenwärtigen Projekt halt nur die 4er version braucht dann sollte man es dabei belassen. Wenn man aber in die Zukunft schaut ist es halt so das man nicht drumrum kommt fü die 5er Version sich zu wappnen. und was die oop angeht man wird immer wieder auf Probleme stoßen die man eventuell garnicht ohne lösen kann oder es wird einfacher wenn man es benutzt. und so schwer ist oop ja garnicht wenn man erstmal die Grundidee verstanden hat ist der werdegang dann ein klacks. Als kleines beispiel für oop in php5: Es ist möglich zumindestens jetzt mit php5 Klasse dahingehend zu Typisieren : wie es vergleichsweise in C/C++ möglich, Objekten einer Klasse drei Merkmale zu erteilen. Private, Public und Protectet. und vieles mehr ist jetzt mit oop in version 5 möglich. |
|
| | |||
| Gast
Beiträge: n/a
| Zitat:
@Topic Vielleicht solltest du dir erstmal klar machen, was ein Objekt ist und wozu es benutzt wird, bzw. wie verschiedene Objekte sinnvoll zusammen arbeiten. (Genau genommen hat man zunächst gar kein Objekt, sondern nur eine Klasse, von der man ein Objekt ableiten kann. Aber das interessiert zum Grundverständnis erstmal nicht, weshalb ich weiterhin von Objekten spreche.) Zur Veranschaulichung ein kleines Beispiel aus der realen Welt: Wir wollen ein Fahrrad bauen. Um nicht gleich die volle Verwirrung zu stiften, gehe ich nicht von einer Mutterklasse "Fahrzeug" aus, in der die Grundliegenden Dinge definiert sind, die jedem Fahrzeug zugrunde liegen. Das geht dann schon in die Vererbung und hier soll nur mal gezeigt werden, wie Objekte ansich funktionieren und wie sie aufgebaut sind. Betrachten wir also zunächst worauf wir hinaus wollen: Ziel: Fahrrad Ein Fahrrad besteht aus verschiedenen Bauteilen. Das sind unsere Objekte. Wir müssen uns klar darüber werden, in wie kleine Grundbausteine (Objekte) wir das Fahrrad zerlegen wollen. Teileliste (Objektliste): Räder Lenker Rahmen Gabel Pedalen Kettensatz Kette usw. Gehen wir mal von dieser groben Einteilung aus. Natürlich kann man jedes der oben genannten Teile noch weiter zerlegen und macht es in der Praxis auch, wenn es sinnvoll ist (z.B. kann man Gewindebolzen definieren, da man sie sicher an den verschiedensten Stellen in einem Fahrrad verwenden kann.) In unserem kleinen Beispiel hier wollen wir kein ganzes Fahrrad zusammen bauen, sondern wir nehmen uns exemplarisch Bauteile (Objekte) raus, die anschließend auch direkt miteinander zu tun haben. Schauen wir uns doch mal das Antriebssystem an. Dazu gehört grob gesagt: Pedalen Kettensatz Kette Natürlich kann man auch noch die Räder dazu nehmen, aber irgendwo wird man immer einen Schnitt machen müssen, und wenn man in der Mathematik alles mit "Es sei..." definieren kann, dann können wir das beim Programmieren auch einfach machen. Nur sinnvoll muss es bleiben :wink: Jedes dieser Bauteile hat Eigenschaften (Variablen) und Aufgaben (Methoden), die es auszeichnen. Auch hier stelle ich keine ganze Liste auf, sondern gehe wieder nur exemplarisch vor. Die ausgewählten Teile haben Berührungspunkte, über die sie zusammen arbeiten können. Das sind die öffentlichen, von außen zugänglichen Komponenten. Das können sowohl Variablen, wie auch Methoden sein, die aus einem anderen Objekt raus gesetzt, ausgelesen oder aufgerufen werden. Weiterhin hat jedes Bauteil Eigenschaften und Funktionen, die es nur für sich selbst benötigt, um zu funktionieren. Diese Gruppe ist privat. (Stichwort: Information Hiding) In einem Posting weiter oben wurde noch protectet genannt. Da ich hier nicht auf Klassen, sondern auf Objekte eingehe (war doch etwas dumm), erkläre ich es nicht an dieser Stelle. Grundsätzlich sollte man immer zusehen, soviel Information wie möglich vor anderen zu verbergen. Das verhindert viele Fehler und ermöglicht ganz klare Schnittstellen. Wozu soll es z.B. nötig sein, das die Pedale weiß, wo das Kettenschloß ist und wie man es öffnen kann? Soweit das kleine und stark vereinfachte Prinzip von Objekten (Ich weiß, da fehlt noch jede Menge) Um doch noch einmal was zu Klassen zu sagen: Was ich oben gemacht habe war eigentlich gar kein Entwurf von Objekten, sondern von Klassen. Objekte werden erst von diesen Klassen abgeleitet. In den den meisten Programmiersprachen wird das mit "new..." gemacht. Die Klasse liefert also nur eine Art Schablone und erst wenn ich ein Objekt von ihr ableite, stehen all die Variablen und Mehoden bereit, um mit Leben gefüllt zu werden. Anhand des Fahrrades ist der Sinn dieses Vorgehens am besten an den Rädern zu erklären (gehen wir mal von einem Lauffahrrad aus, bei dem Hinter- und Vorderrad gleich sind :wink: ) Wir leiten uns von der Klasse "RAD" zwei Objekte ab: Hinterrad und Vorderrad. Diese beiden Objekte sind völlig unabhängig voneinander. Sie belegen als Objekt im Spiecher eigene Bereiche und wir können ihnen z.B. verschiedene Luftdrücke zuordnen. Anhand der Räder könnte man auch ganz gut das Prinzip der Vererbung verdeutlichen, aber das spare ich mir an dieser Stelle, weil ein Neuling mit dem gesagten erstmal genug zu tun hat. Um Objekte (Klassen) zu entwickeln, empfehle ich Rational Rose als Case Tool. Man wird nichts besseres finden. Um damit zu arbeiten, muss man sich allerdings schon sehr mit OOP auseinander gesetzt haben. Für einfache Klassen kann man auch erstmal von Hand vorgehen. Ob man sich mit OOP auseinander setzt oder nicht hängt in erster Linie davon ab, wozu man Programmiert. Macht man es Beruflich oder möchte es in Zukunft machen, führt kein Weg daran vorbei. Programmiert man Java, führt kein Weg daran vorbei. Programmiert man C++ führen zwar Wege daran vorbei, aber spätestens wenn man in den Semiprofessionellen Bereich vordringt und beginnt mit Bibliotheken anderer zu arbeiten... Also alles in allem kann es nicht schaden sich dieses Werkzeuges zu bemächtigen. Ich hoffe für nicht noch mehr Verwirrung gesorgt zu haben, Agadir | ||
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| hochkommas in select abfrage.. ich raffe es nicht. | hekto | PHP Tipps 2005 | 31 | 22.01.2005 18:03 |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.