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

OOP statt Funktionen - welcher Vorteil?

Status
Für weitere Antworten geschlossen.

CGollhardt

Mitglied
Guten Abend miteinander,

Ich versuche gerade ein Browsergame zu entwickeln und habe mir mitten in der Entwicklung überlegt bei diesem Projekt erstmals auf OOP umzusteigen.

wie der Titel bereits verrät möchte ich gerne Wissen, welchen Vorteil mir Objektorientierte Programmierung bringt den mir eine "Funktions Programmierung" nicht bringt.

Ich habe bereits in Google gesucht, aber nicht wirklich was brauchbares gefunden. Jediglich die Aussage "Klassenprogrammierung erlaubt Modulbasierend und übersichtlicher (kürzer) zu programmieren.

Mit funktionen kann ich doch auch Modular programmieren. Wozu brauche ich die OOP eigentlich direkt?

Das hier ist eine Funktion die ich jederzeit aufrufen kann. Da brauch ich doch nicht erst ein Objekt Glück1 erstellen, dem eine Prozentzahl übergeben und dann abfragen ob ich Glück habe oder nicht. Da reichts einfach glueck(30) an die Datenbank zu übergeben, als wäre es eine Variable.
PHP:
//Prozentuales Glück ermitteln
function glueck ($prozent, $bolZahl = false) {
	$zufallszahl = mt_rand (0, 100);
	if ($zufallszahl <= $prozent) {
		if ($bolZahl) {
			return 1;
		} else {
			return true;
		}
	} else {
		if ($bolZahl) {
			return 0;
		} else {
			return false;
		}
	}
}

Kann es sein dass ich mir gerade ein schlechtes Bsp ausgesucht habe? An welchen Stellen wäre OPP eurer Meinung sinnvoller?


Bisher habe ich immer mit PHP - SELFPHP: Version 5.1.9 Befehlsreferenz - Tutorial &ndash; Kochbuch &ndash; Forum zum Thema PHP gearbeitet. Dort gibt es aber nicht wirklich dieses Thema, sondern nur in den Neuerungen von PHP 5 kurz integriert.
Kennt ihr eine genauso gute Tutorialseite bloß für OOP? Also was dieses Gebiet angeht bin ich blutiger Anfänger
 
OOP füllt ganze Bücher. Klassen (eine Variante Objektorientiert zu arbeiten) kann man mehrfach verwenden und sie lassen sich einfacher erweitern oder manipulieren. Außerdem hält man so Ordnung, da man quasi einen eigenen Namensraum erzeugt und die Klasse selbstständig die Arbeit erledigt.

Man muss auch nicht wissen wie Klassen funktionieren, man verwendet sie einfach. Bei Funktionen ist das schon schwieriger. Im übrigen sind die Methoden einer Klasse auch nur Funktionen (nur mit anderen Rechten: In PHP private, public, protected).

Überlicherweise arbeitet es sich am besten in einem Komplett objektorientierten Framework: z.B. Zend (bevorzuge ich), CakePHP usw. Es arbeitet sich leichter, schneller und vor allem ordentlicher, was die Wartung erheblich erhöht.
 
Also erstmal Danke für deine schnelle Antwort

Überlicherweise arbeitet es sich am besten in einem Komplett objektorientierten Framework: z.B. Zend (bevorzuge ich), CakePHP usw. Es arbeitet sich leichter, schneller und vor allem ordentlicher, was die Wartung erheblich erhöht.

Bin mir nicht ganz sicher was du meinst, aber meine phpinfo() gibt mir folgende Engine aus: Zend Engine v1.3.0
Meinst du die, oder ein Entwicklertool?
Ich benutze derzeit den neuen Adobe Dreamweaver 10 CS4 Master Collection, falls es sich um das Entwicklertool handelt. Reicht das?

OOP füllt ganze Bücher. Klassen (eine Variante Objektorientiert zu arbeiten) kann man mehrfach verwenden und sie lassen sich einfacher erweitern oder manipulieren. Außerdem hält man so Ordnung, da man quasi einen eigenen Namensraum erzeugt und die Klasse selbstständig die Arbeit erledigt.
Ich merke das es echt viel davon im Inet gibt, aber ich habe noch nichts brauchbares gefunden, was mir wirklich weiterhilft. Gibt es da ein gutes Tutorial, mit guten Beispielen, wann OOP sinnvoll ist?
 
Okay habe ich mir jetzt angesehen und gedownloaded. Ziemlich umfangreich...

Bloß ich mag jetzt kein deartiges Framework benutzen, sondern alles noch selber coden.
Deswegen hoffe ich, dass jemand ein echt gutes Tutorial kennt, wie z.b. Selfphp, direkt auf die OOP. Bei Selfphp ist es leider nicht enthalten.

Also ich meine nicht so einen 3 Seiten Crashkurs, fertig, sondern was ausführliches, langsames, mit vielen Beispielen (evtl. kommentiert)
Deutsch bevorzugt.
 
Schau auf
Tutorials & eLearning @ tutorials.de: Forum, Tutorial, Anleitung, Schulung & Hilfe

Dort findest Zahlreiche Video und Text Tutorials zu OO mit Anwendungs Beispielen.
Zum Beispiel eine Datenbank klasse, Template klassen unsw.

Weiter Beispiele und erklärungen findest unter
PSD-Tutorials.de - PHP

Allerdings muß man dann dort dafür Regestriert sein.

Wenn du eine Erklärung von einen Qualfizierten PHP Trainer haben willst dann das hier:
PHP 5 / MySQL 5 Seminar (22 Stunden Video-Training) - sofort lieferbar - terrashop.de

Kostet 8 Euro die es auf jedenfall Wert sind der Orginall Preis dafür lag bei 40 Euro

Mfg Splasch
 
Zuletzt bearbeitet:
OOP füllt ganze Bücher. Klassen (eine Variante Objektorientiert zu arbeiten) kann man mehrfach verwenden und sie lassen sich einfacher erweitern oder manipulieren. Außerdem hält man so Ordnung, da man quasi einen eigenen Namensraum erzeugt und die Klasse selbstständig die Arbeit erledigt.
....

ich gebe dir zwar im wesentlichen recht, allerdings sind das alles eigenschaften, die auch funktionen erfüllen.

eine nicht zu unterschätzender vorteil von klassen ist die vererbung von eigenschaften innerhalb der klasse.
über funktionen müsste ich jedes mal alle bisher von funktionen zurückgegebenen werte wieder neu mit an die neue funktion übergeben (die funktion also mit allen bisherigen ergebnissen als parameter aufrufen).
 
eine nicht zu unterschätzender vorteil von klassen ist die vererbung von eigenschaften innerhalb der klasse.
über funktionen müsste ich jedes mal alle bisher von funktionen zurückgegebenen werte wieder neu mit an die neue funktion übergeben (die funktion also mit allen bisherigen ergebnissen als parameter aufrufen).

Ah, jetzt verstehe ich den ganzen Vorteil richtig!

Da lohnt es sich wirklich, Klassen zu verwenden, statt Funktionen, vorallem bei einem Browsergame^^ Danke
 
Status
Für weitere Antworten geschlossen.

Neueste Beiträge

Zurück
Oben