![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 464
|
Wenn ich eine Klasse für ein Text-Feld eines Formulars habe, erzeuge ich für jedes Text-Feld ein neues Objekt. Ich könnte in der Klasse eine statische Eigenschaft definieren, um die Anzahl der Objekte/Text-Felder zu zählen. Weiterhin benötigt man eine statische Methode zur Umsetzung des Singleton Patterns. Soweit ist alles klar. Aber wie ist es nun mit einer FrontController oder Registry Klasse eines Frameworks? Ich könnte auf die Mitglieder zugreifen, in dem ich ein Objekt der Klasse erzeuge. Da nur ein Objekt benötigt wird, kann ich für die Klassen das Singleton Pattern verwenden. Ich könnte aber auch alle Mitglieder als statisch definieren und ohne Objekt auf diese zugreifen. Meine Frage daher: Wann genau sollte ich mit Objekten und wann mit statischen Mitgliedern arbeiten? Wo liegen die Vor- und Nachteile?
__________________ |
| | |
| | Nach oben #2 |
| Wikinger Registriert seit: 02.03.2006 Ort: Aachen
Beiträge: 298
|
Also es ist sicher möglich alle Variablen/Methoden als statisch zu definieren, statt z.B. ein Singleton zu verwenden. Ob das sinnvoll ist.. ist denke ich eher eine Frage des Stils als der Praktikabilität. Statische elemente sind eigentlich nichts anderes als globale Variablen mit einem schöneren Namen ;). Daher treffen dort auch all die Eigenschaften globaler Variablen zu, und in Objekt orientierten Strukturen ist das meistens eher unpassend. Objekt orientierte Anwendungen leben von Objekten und deren Beziehungen, da ist ein Objekt, dass eine Beziehung zu alles und jedem haben kann ein kleiner Bruch im Konzept. Praktische Nachteile gibt es jedoch eigentlich keine. Eventuell könnte man anbringen, dass eine globale Variable eben von überall aus geändert werden kann, und das muss man beachten. Bei Variablen innerhalb der OOP Struktur ist durch die Klassenbeziehungen genau festgelegt wer, wie darauf zugreifen kann. Somit kannst du als Klassenauthor das Zugriffsverhalten definieren. Geändert von xardias (14.10.2008 um 19:50 Uhr) |
| | |
| | Nach oben #3 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.379
|
Aus einer Vorlesung an der Uni hab ich im Hinterkopf dass bei C++ die Deklaration statische Variablen und Methoden etwas langsamer und etwas speicheraufwendiger ist also von normalen, gleiches gilt auch für den Aufruf, auf einem Blog hab ich das vor einiger Zeit so auch für PHP gelesen.
__________________ robo47.net - Blog, Codeschnipsel und mehr | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework |
| | |
| | Nach oben #4 | |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 464
| Zitat:
Danke für die Antworten!
__________________ | |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Anwendungsgebiet für innere Klassen | Spacerat | PHP-Programmierung | 4 | 12.04.2008 21:42 |
| Klassen für Eingabeüberprüfungen ? | Doggi | PHP-Programmierung | 15 | 31.01.2006 09:37 |
| alle Klassen eines Packages ermitteln | ehli75 | Allgemeine Java-Programmierung | 3 | 16.12.2005 13:30 |
| PropertyChangeEvent etc. auch für Klassen, die keine Beans sind? | NewYork | Allgemeine Java-Programmierung | 2 | 23.11.2005 00:07 |
| klassen dokumentation automatisieren | beny_mcde | Tools, Server, Betriebssysteme | 4 | 19.10.2005 20:03 |