Klaus: Vorteile und Beispiele zur OOP

Beitrag lesen

Hallo,

naja das Konzept der OOP lässt sich mit PHP nur relativ schlecht verwirklichen, da einfach bei jedem Seitenaufruf ein Script abläuft.
Programmiert man stattdessen Programme (in C# oder Java z.B.), wird einem das Konzept der OOP deutlich klarer und welcher Vorteile dieses hat.

Auch C# und Java spielen im Bereich der Webanwendungen in der selben Liga wie PHP und sind an die Gegebenheiten des Request-Response-Spielchens gebunden.

Naja C# und Java werden eher für den Nicht-Web(HTTP)-Bereich verwendet. Natürlich gibt es Asp.Net oder JSP/JSF für Webanwendung, persönlich finde ich aber, dass das OO-Konzept in ASP.Net besser durchtritt als in PHP. Dort löst ein (ASP.Net) Button ein bestimmtes Event aus, wenn man diesen drückt, und dieses löst dann wieder ein Methodenaufruf zum Abhandeln des Events aus.
Klar, dies wird dem Programmierer alles nur vorgegaukelt und im Hintergrund läuft es so ab wie bei PHP (Request-Response), aber bei Asp.Net hat man schon eher das Gefühl Objekt orientiert zu programmieren.

Ich meinte aber eigentlich das sich OOP viel besser bei normalen Softwareanwendungen verwenden lässt, also soetwas wie Office, ein Browser oder ein FTP Server, als das man es im Web verwenden kann. Durch die Zustandslosigkeit der HTTP Verbindung muss man eben viele Einschränkungen hinnehmen und OO-Programmierung im Web ist eben anders als die OO-Programmierung einer Windows-Anwendung (o.ä.).
Ich wollte nur sagen, dass man das Konzept und die Vorteile des OOP erheblich besser erkennt, wenn man mit C#/Java o.ä. mal eine größere Nicht-Web-Anwendung (am besten mit graphischer Oberfläche) programmiert hat.

Persönlich finde ich PHP toll, da dieses um einiges instinktiver ist als ASP.Net oder JSP. Bei PHP weiß man, wie die Seite generiert wird (das Script läuft von oben nach unten ab) und kann dieses auch erheblich leichter beeinflussen.
Bei ASP.Net ist eben vieles versteckter und man hat nicht ganz diesen (nahezu) linearen Ablauf. Ist eben eine andere Art zu programmieren.
(Und mit JSP kann ich mich gar nicht anfreunden)

Aber durch die Besonderheiten des HTTP Protokolls muss man eben Einschränkungen machen die es so bei z.B. einer Windows-GUI-Anwendung nicht gibt. Dort kommt in meinen Augen das Konzept der OOP besser durch.

Deswegen, wie gesagt, verwendet man in PHP meisten Klassen um Funktionalitäten zu bündeln. Viele Konzepte wie Polymorphie lassen sich in PHP nur sehr schlecht ausnutzen.
Verstärkend kommen die typischen Anwendungsfelder hinzu, die man mit PHP normalerweise löst (viel PHP Anwendung sind 'nur' Frontends für die dahinterliegende Datenbank. Also ein paar SELECT, INSERT und UPDATE Befehle).

Ich hoffe mein Standpunkt ist etwas klarer geworden. Also ich kann es nur empfehlen, evt. mal mit C# eine (lokale) Anwendung zu programmieren. Dies hilft einem auch später wenn man dann eine PHP Anwendung schreiben muss. So erkennt man dann relativ schnell die Klassen die man benötigt und wie man wo sinnvoll Klassen/Objekte einsetzen kann.

Grüße
Klais