Zum Inhalt springen

VitaminB

Mitglieder
  • Gesamte Inhalte

    2
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von VitaminB

  1. VitaminB

    Vererbung C#

    Mit "is" kannst du abfragen, ob eine Klasse eine Schnittstelle implementiert oder welchen Typ dein Objekt hat. Wie vorher gesagt, kannst du ja eine Referenz vom Typ A auf ein B Objekt machen. Mit "is" kannst du dann z.B. abfragen, ob es ein Objekt vom Typ B ist, und dann eine neue Referenz vom Typ B auf das Objekt machen, um die Methoden und Felder der Klasse B anzusprechen. z.B. if (a is IDisposable) { //Tue etwas } oder: if(a is { //Tue etwas } [/code]
  2. VitaminB

    Vererbung C#

    Hallo, B ist eine "spezifischere Klasse", das bedeutet, B hat mehr Felder und/oder Methoden als A. Deswegen kannst du eine Referenz von Typ B nicht auf ein Objekt von Typ A zeigen lassen. B b = new A(); geht also nicht. Was du allerdings machen kannst ist: B b = new B(); //Ein Objekt vom Typ B wird erstellt A a = b; //Eine Referenz vom Typ A auf b So kannst du allerdings nur die Felder und Methoden von A aufrufen. zu 2. Zu dem "is": Wenn du z.B. bei einer Methode als Parameter eine Referenz auf ein Objekt von Typ A kriegst kannst du auch eine Objektreferenz auf ein Objekt mitgeben, das von A geerbt hat (in dem Fall ein Objekt vom Typ . Nun kannst du wie folgt abfragen, ob das übergebene Objekt vom Typ B ist und dann eine neue Referenz auf das Parameter Objekt zeigen lassen mit dem Wort "as" B. Ich mach mal ein Beispiel: public void Test(A a) { a.zaehler = 3; //GEHT NICHT! weil a die Variable zaehler nicht besitzt if (a is { B b = a as B; //Eine Referenz vom Typ B auf ein Typ B Objekt //(was es ja eigentlich dann ist) b.zahler = 3; //Geht jetzt } } [/code] Ich hoffe du verstehst die Antwort. Ich glaube sie ist etwas zu kompliziert geraten.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...