| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Was spricht denn gegen Vererbung statischer Methoden? Ist nicht weniger logisch. Zudem ist die Aussage Zitat:
Denn siehe (B::outA (); liefert nicht etwa einen Fehler): PHP-Code: Stimmt schon, der Bezeichner self impliziert dieses Verhalten, aber eine Auflösung zur Laufzeit, meinetwegen auch mit static als Schlüsselwort, ist wirklich wünschenswert. . Geändert von nikosch (05.01.2009 um 21:28 Uhr). | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 17.01.2006
Beiträge: 468
![]() | sorry, aber ich kann mich nur wiederholen. Ausserdem hast du bei PHP ein Ausnahmefall getroffen, in dem man eine einfache Methode als static aufgerufen ist und dabei nicht meckert. (weil du eben keine this innerhalb von methode benutzt hast. In Java oder C# kannst du eine Statische Methode nur mit Classnamen benutzen und sogar self ist nicht mehr erlaubt. Also würdest Du schon von Anfang an statt self.variablename Papa.variable schreiben müssen Code: C#
/*
* Erstellt mit SharpDevelop.
* Benutzer: slavik
* Datum: 08.04.2008
* Zeit: 20:45
*
* Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern.
*/
using System;
namespace statics
{
class A
{
public static char value = 'A';
public void outA ()
{
Console.WriteLine(value);
}
}
class B : A
{
new public static char value = 'B';
}
class Program
{
public static void Main(string[] args)
{
// TODO: Implement Functionality Here
A a=new A();
a.outA();
B b=new B();
b.outA();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
Wenn das nicht bei Java oder C# nicht functioniert, warum muss PHP das können? Edit: Zum Schluss der gleiche in C# von deinem erstem Beispiel, dass Auch 2 mal 'A' liefert Code: namespace statics
{
class A
{
public static char value = 'A';
public static void outA ()
{
Console.WriteLine(value);
}
}
class B : A
{
public static new char value = 'B';
}
class Program
{
public static void Main(string[] args)
{
A.outA();
B.outA();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
|
| | |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Deine Argumente besagen lediglich, dass hier eine konsequente Linie verfolgt wurde, aber nicht, dass das ganze logisch ist. Wenn ich meinen statischen Aufruf in Klasse Kind starte, erwarte ich auch, dass dieses in diesem Kontext ausgefuehrt wird. Hier wird aber der Kontext (Aufruf aus Klasse Kind) einfach verworfen und in Klasse Papa rumgestreunert. Mag sein dass dies das Konzept abstrakter Klassen ist und man dann besser auf Singletons setzen sollte, aber logisch ist das fuer mich trotzdem nicht Slava ![]() |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| statische Eigenschaft einer unbekannten Klasse aufrufen | Zergling-new | PHP-Fortgeschrittene | 30 | 05.01.2010 20:04 |
| statische Variable in Methode | tinchen | PHP Tipps 2008 | 5 | 21.12.2007 20:54 |
| statische Aufrufe, Ableitungen | Zergling-new | PHP-Fortgeschrittene | 10 | 01.12.2007 20:07 |
| Suche Befehl: MySQL Output in statische Seite schmeissen | tekknotrip | PHP Tipps 2006 | 3 | 14.09.2006 11:49 |
| Singleton besser als komplett statische Klasse ? | Cmon | PHP-Fortgeschrittene | 4 | 13.06.2006 00:34 |
| eine PHP Seite als statische Seite auf dem Server legen | seven-12 | PHP Tipps 2006 | 16 | 17.05.2006 15:18 |
| include nachträglich in statische Seite einfügen | PHP Tipps 2007 | 6 | 17.11.2005 20:03 | |
| Zugriff auf statische methoden oder konstanten | nightfreak | PHP-Fortgeschrittene | 6 | 14.11.2005 16:56 |
| [Erledigt] statische Variablen => References | PHP-Fortgeschrittene | 5 | 27.09.2005 01:37 | |
| Statische Kopie von dyn. Seite ? | PHP Tipps 2005-2 | 1 | 23.07.2005 18:39 | |
| PHP5: Klassenattribut für statische Methode, mit Vererbung | PHP-Fortgeschrittene | 9 | 24.05.2005 09:35 | |
| [Suche] Coder für einfache (statische) Seite | Beitragsarchiv | 8 | 10.02.2005 16:32 | |
| PHP-Script in statische php-Seite einbinden | PHP Tipps 2004 | 2 | 13.10.2004 15:39 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| oop void, php oop void, java vererbung statischer methoden |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.