Hallo,
ich habe zur zeit ein problem bei einem kleinen projekt mit vererbung und dem zugriff auf variablen innerhalb der objekte. hier mal ein kurzes beispiel:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| static void Main(String[] args) { ChildClass cc = new ChildClass(); }
class BaseClass {
public String str = "BaseClass";
public BaseClass() { this.doSomething(); }
public void doSomething() { Console.WriteLine(this.str); } }
class ChildClass : BaseClass{
new public String str = "ChildClass";
public ChildClass() : base(){ }
public void doSomethingElse() { } } |
wenn ich das ausführe, wird in der konsole "BaseClass" ausgegeben. ich hätte allerdings erwartet, das "ChildClass" ausgegeben wird, da doSomething von ChildClass aufgerufen wird und str dort den wert "ChildClass" hat.
habe ich da einfach nur ein denkfehler, oder etwas in der richtung? und wie kann ich das erreichen, was ich eigentlich erwartet habe?
ich hoffe jemand kann mir helfen.