Entwickler-Ecke
C# - Die Sprache - Kommunikation zwischen zwei abgeleiteten Klassen
relapse - So 07.08.11 17:17
Titel: Kommunikation zwischen zwei abgeleiteten Klassen
Hallo! Eine Frage:
Ich habe drei Klassen: eine Basisklasse A und zwei von ihr abgeleiteten Klassen B:A und C:A. Ist es möglich zur Laufzeit in der Klasse B auf die spezifischen Eigenschaften der Klasse C zuzugreifen? Vielleicht über die Basisklasse?
Danke.
Kha - So 07.08.11 17:52
:welcome: in der EE!
Möglich ist das mit einem Cast immer, aber um auch noch sagen zu können, wie es schön geht, müsstest du schon etwas konkreter werden.
relapse - So 07.08.11 23:21
Jede abgeleitete Klasse hat eine eigene Print-Methode: PrintB() und PrintC() respektive. Ich möchte mit einer Instanz der C-Klasse auf die PrintB()-Methode der B-Klasse zugreifen. Ich habe Folgendes ausprobiert:
B b = new B();
A a = b; // Basisklasse A, implizites Casting
C c = (C)a; // explizites Casting, funktioniert nicht
c.PrintB(); // funktioniert nicht
pdelvo - Mo 08.08.11 01:24
Natürlich funktioniert das nicht.
Die Klasse A leitet doch nicht von Klasse C ab.
Ich versuche das mal an einem Beispiel zu verdeutlichen
Es gibt die basisklasse Fahrzeug und die beiden Klassen Auto, und panzer, die beide von dieser Klasse ableiten.
Soetwas macht doch keinen Sinn: ((Panzer)auto1).Schieße(); Obwohl ein Auto ein Fahrzeug ist, ist es noch lange kein Panzer
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!