Anonymous U. schrieb:
> Ich
> bleibe wohl bei der Klassischen Methode:
>
>
1 | > yClass myInstance = new myClass("myInstance");
|
2 | >
|
Es ist aus logischen Gründen auch die einzig Mögliche. Die Sache ist
nämlich die: Der Name der Instanz und der Name von Variablen, die sie
referenziert, hat de facto so gut wie garnix miteinander zu tun. Es sei
denn, man sorgt dafür, so wie du oben oder wie es auch der Designer des
VS tut.
Dass es keine wirkliche Abhängigkeit geben kann, ergibt sich aus
folgenden einfachen Tatsachen:
1) Gleichzeitig kann man ein- und dieselbe Instanz über mehrere
Variablen referenzieren.
2) Zeitlich nacheinander kann ein- und dieselben Variable
unterschiedliche Instanzen referenzieren.
1 | yClass myInstanceA = new myClass("myInstanceA");
|
2 | yClass myInstanceB = new myClass("myInstanceB");
|
3 | yClass myInstanceC = null;
|
4 | myInstanceC=myInstanceA;
|
5 | myInstanceA=myInstanceB;
|
6 | myInstanceB=myInstanceC;
|
Danach wird die Instanz mit dem Namen "myInstanceA" durch die Variablen
myInstanceB und myInstanceC referenziert, und die Instanz "myInstanceB"
durch die Variable myInstanceA.
Deutlicher kann man wohl den ganze Fragwürdigkeit dieses Ansatzes nicht
zeigen.
Zumal ja noch nicht mal dafür gesorgt ist, dass der Name über die
Lebensdauer der Instanz konstant ist. Man kann obiges Beispiel nämlich
auch noch so erweitern:
1 | myInstanceA.Name="holyShit";
|
2 | myInstanceB.Name="holyShit";
|
Jetzt haben beide Instanzen den gleichen Namen und dieser entspricht
nicht dem Namen irgendeiner der drei Variablen, die sie referenzieren.