TobbiVM

Tobbi-Blog

Objektorientierte Programmierung!?

03.05.2014

Im Internet kann man es an fast jeder Ecke lesen: „Heute muss man mit PHP Objektorientiert programmieren″.

Naja wenn man meint soll man es eben so machen aber es sollte es niemandem aufgezwungen werden. Objektorientiert programmieren, hier kurz OOP genannt, ist keine Vorschrift und auch kein Qualitätsmerkmal oder zeugt immer von Aktualität.

OOP ist ein Programmierparadigma, genau so wie Prozedurale Programmierung.
Schon folgendes sollte zu denken geben.

  • PHP unterstützt lediglich OOP und ist keine vollwertige OOP-Sprache.
  • Klassen und deren Methoden sind gegenüber Funktionen mit gleichen Aufgaben langsamer. Hierbei mag es einige, wenige Ausnahmen geben die dabei aber nicht ins Gewicht fallen.

Die Vorurteile gehen dabei noch weiter:

Bei prozeduraler Programmierung verliert man leicht den Überblick

Wenn man gut strukturiert ist hier kein Unterschied festzustellen. Wer die Übersicht bei prozeduraler Programmierung verliert wird diese auch bei OOP verlieren.

Klassen können wiederverwendet werden

Das ist mit der grösste Unfug. Warum zum Teu… soll man dies mit Funktionen nicht tun können?

Klassen sind leicht wartbar

Was soll jemanden daran hindern Funktionen auch zu „warten″? Übrigens eine schöne Umschreibung für das Bugfixen.

Klassen sind leicht erweiterbar

Hust… und Funktionen etwa nicht? Notfalls schreibt man einfach eine neue Funktion, analog zu einer neuen Methode.

OOP ist sicher

Genauso sicher wie prozedurale Programmierung.

OOP ist gut für größere Projekte geeignet

Egal ob groß oder klein, anwendbar ist es immer.

Bei OOP können viele verschiedene Entwickler, unabhängig voneinander, am Code arbeiten

Wenn es richtig geplant wird ist auch hier kein signifikanter Unterschied zur prozeduralen Programmierung vorhanden.

Scheinbar ist OOP für einige Programmierer das gleiche wie ein iPad für den Apple-Jünger - alles nur eine Glaubensfrage.
An vielen Einträgen in Programmier-Foren kann man erkennen das viele User OOP nicht verstanden haben. Dort wird von Klassen, abstrakten Klassen, Methoden, Vererbung und Interfaces geschrieben, aber das eigentliche Konzept das hinter dem Begriff OOP steht kennt kaum jemand.

Ich für meinen Teil nutze Klassen und Funktionen in einem, in meinen Augen, gesundem Mix. Mit PHP kann man sich vieleicht vorgaukeln „echt OOP″ zu programmieren das wird aber nie wirklich der Fall sein. Um dies zu erkennen sollte man sich einmal die Abläufe die bei einem Seitenaufruf auftreten vergegenwärtigen und diese mit den Abläufen in einem Programm das mit einer wirklich echten OOP-Sprache (Java, Visual Basic…) vergleichen. Auch heißt PHP schließlich „Hypertext Preprocessor″ und erzeugt HTML-Code oder JS-Code (oder...) der zum Client gesendet wird.

Und wenn man ganz ehrlich ist und keine Framework benutzt so ruft man in den Methoden einer Klasse doch nur die in PHP implementierten Funktionen auf, oder?

 

Kommentare: 0

Keine Kommentare vorhanden!

Neuen Kommentar verfassen:

Bitte füllen Sie mit * markierte Felder korrekt aus. JavaScript und Cookies müssen aktiviert sein.
Name: (Pflichtfeld)*
email: (Pflichtfeld, wird nicht veröffentlicht)*
Homepage:
:-):-):-):-):-):-):-):-):-):-):-):-)
Ihr Kommentar: *
 
Bitte tragen Sie den Zahlencode ein:*
Captcha
Powered by CMSimpleRealBlog



Unterstützt von CMSimple  •  Gestaltet von TobbiVM