• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Fragen / OOP

Status
Für weitere Antworten geschlossen.

Anonymous

Neues Mitglied
Hallo,

mal eine allgemeine Frage: Was ist OOP (Objektorientiertes Programmieren!?)?

Ist das eine eigene Sprache? Oder eine besondere Art mit PHP zu progammieren?


Liebe Grüße,
L.T.M
 
Werbung:
Hallo,

hobbyuser, ich hatte eigentlich auf das ein oder andere kleine Beispiel gehofft. Das habe ich vergessen zu erwähnen.

Den Text von Wikipedia verstehe ich nicht (Bezeichnet mich nur als dumm, aber es ist so).


Liebe Grüße,
L.T.M
 
Werbung:
Ich weiss zwar das sich unter PHP inzwischen auch Klassen erzeugen lassen, kann dir da aber kein konkretes Beispiel bringen. So Fit bin ich in PHP dann doch nicht. :(

Ich kenne OOP hauptsächlich aus C++, aber auch das lässt sich nicht so eben nebenbei erklären.
Trotzdem will ich es versuchen. :)

Stell die vor du schreibst ein Grafikprogramm. Dort erstellst du die Klasse "Form". Zu dieser Klasse gehören bestimmte Daten und Funktionen.
DATEN: Größe, Farbe
FUNKTIONEN: Zeichnen, Drehen, Anzeigen
Wenn du jetzt ein Objekt der Klasse Form erstellst kannst du die Daten der Klasse über die Funktionen bearbeiten. Somit sind die Daten abgekapselt von der Außenwelt.

Nun ist die Klasse Form eine Basisklasse von der sich andere Klassen ableiten lassen z.B. "Kreis", "Quadrat" und "Dreieck". Alle diese Klassen besitzen dann die gleichen Eigenschaften (Daten und Funktionen) wie die Klasse Form.
Zusätzlich lassen sich weitere Eigenschaften in diese Klassen einbauen. Somit können die "Kind"-Klassen mehr Daten und Funktionen als die Basisklasse haben.

Der Vorteil dabei ist das du im Programm nur die Objekte über die Objektfunktionen ansprichst. Also nur eine Art Schnittstelle hast, auf die du im Programm zugreifst. Diese Klassen können in anderen Programmen wiederverwendet werden, was den Arbeitsaufwand erheblich schmälert. Des weiteren können Änderungen an der Klasse durchgeführt werden, ohne dass das Programm neu geschrieben werden müsste. Vorrausgesetzt die Schnittstelle (Objektfunktionen) ändern sich nicht.

Ich weiß das Ganze klinkt sehr kompliziert, denn das ist es auch. :lol:
Vielleich hat Prophet als alter JAVA-Hase da noch ne bessere Erklärung.

Gruß
Hobbyuser
 
Ich würde mich nicht als alten Java-Hasen bezeichnen (hab da noch nicht so viel erfahrung)... aber gut gebe ich meinen senf mal dazu...

Das beispiel was hobbyuser nannte ist eigentlich schon ziemlich gut.

der sinn der sache ist es halt das code möglichst modular zu halten. wie er bereits sagte du erstellst dir eine "schblone" (Klasse). Diese Klasse legt dann einen neuen Datentyp an dieser datentyp enthält dann eigene variablen und funktionen. sobald die schablone fertig ist kann man davon eine objekt instanzieren (blidlich: die schablone benutzten um ein duplikat zur verwendung zu erstellen.).

Hier ein kleines PHP5 beispiel (es gibt da unterschiede zwischen 4 und 5):
[php:1:a7618937c6]<?php
class Auto /* eine neue klasse wird erstellt sie soll ein auto darstellen */
{
private $farbe; /* eine eigenschaft um die farbe zu speichern */
private $hersteller; /* eine eigenschaft um den hersteller zu speichern */

public function __construct() /* der konstruktor übernimmt die initialisierung beim erstellen eines objekts */
{
$this->farbe = 3;
$this->hersteller = 54;
}
public function __destruct() /* der destruktor macht alles was am lebensende des opbejekts geschieht */
{}

public function Beliebtheit() /* eine funktion/methode der klasse */
{
return $this->farbe * $this->hersteller;
}
}

$neues_auto = new Auto(); /* objekt wird instanziert */

echo $neues_auto->Beleibtheit(); /* aufruf eines objekt methode */

?>[/php:1:a7618937c6]

Wie du siehst kann dir eine klasse die arbeit vereinfachen!

Für das auto was du vorher procedural erstellen musstest (mit einer sammlung von variablen die jeder ändern kann und die keinen zusammenhalt hatten) hast du nun eine "schablone" die du immer wiederverwenden kannst!
 
Werbung:
ea gibt Maschinen, Problem und objektorientiertes programmieren, maschinen zum steuern von anlagen, problem zum lösen von Problemen und Objektorientiert für Anwendungen z.B: Word, excel

gruß

w7

:idea: :idea: :idea:
 
w7 schrieb:
ea gibt Maschinen, Problem und objektorientiertes programmieren, maschinen zum steuern von anlagen, problem zum lösen von Problemen und Objektorientiert für Anwendungen z.B: Word, excel
BAHNHOF? :roll:
Was soll dieses Post aussagen und was hat das mit dem Thema zu tun?
Kann ja durchaus sein das da was drin steckt, jedoch kann ich es nicht erkennen. :p
 
Werbung:
ist jetzt egal, es gibt noch andere Arten von Programmierung...


gruß

w7

:idea: :idea: :idea:
 
w7 das ist ziehmlicher müll was du da redest.
 
Einfach ignorieren.

@Leander:
Konnten Dir die Links ein wenig weiterhelfen?
 
Werbung:
Hallo,

Ben, ja. Die Links sind sehr nützlich, auch wenn ich wohl noch etwas Zeit brauchen werde, um das ganz zu verstehen.

Vielen Dank! Auch den anderen.


Liebe Grüße,
L.T.M
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben