//Bsp-Methoden Modul06 public static void MontiereNeuesRad(IBewegbar bewegbaresObjekt) { bewegbaresObjekt.AnzahlRaeder++; if (bewegbaresObjekt is Fahrzeug) { Console.WriteLine(((Fahrzeug)bewegbaresObjekt).Name + " hat nen neuen Reifen."); Console.WriteLine((bewegbaresObjekt as Fahrzeug).Name + " hat nen neuen Reifen."); } }
//Bsp-Methode Modul06 public static void RadAb(IBewegbar bewegbar) { bewegbar.RäderAnzahl--; if (bewegbar is Fahrzeug) { Fahrzeug fz = (Fahrzeug)bewegbar; Console.WriteLine($"{fz.Name} hat einen Reifen verloren."); } }
//BSP-Funktion: Polymorphismus (Modul 06) //Funktion empfängt ein beliebiges Objekt, dass das Interface IBewegbar implementiert hat public static void MontiereNeuesRad(IBewegbar bewegbar) { //Manipulation der durch Interface definierten Eigenschaft bewegbar.AnzahlRäder++; //Test, ob Objekt ein Flugzeug ist... if (bewegbar is Flugzeug) { //...wenn ja, dann Cast in Flugzeug und Manipulation der Flugzeug-Spezifischen Eigenschaft MaxFlughöhe ((Flugzeug)bewegbar).MaxFlughöhe -= 100; } }
public static void RadAb(IBewegbar bewegbarsO) { bewegbarsO.RäderAnzahl--; if (bewegbarsO is PKW) { PKW pkw1 = (PKW)bewegbarsO; Console.WriteLine(pkw1.Treibstoff); Console.WriteLine(((PKW)bewegbarsO).Treibstoff); } }
//Bsp-Methode Modul06 (Methode erwartet Objekt einer Klasse, die IBewegbar implementiert hat, als Übergabeparameter) //vgl. oben stehende Methode BeladeFahrzeuge() public static void RadAb(IBewegbar bewegbar) { bewegbar.Räderanzahl--; if (bewegbar is PKW) { PKW pkw1 = (PKW)bewegbar; pkw1.AnzahlTüren--; (bewegbar as PKW).AnzahlTüren--; } }
//Bsp-Methode Modul 06 public static void RadAb(IBewegbar bewegbaresObjekt) { bewegbaresObjekt.AnzahlRäder--; if (bewegbaresObjekt is PKW) { ((PKW)bewegbaresObjekt).StarteMotor(); PKW pkw1 = (PKW)bewegbaresObjekt; pkw1.Beschleunige(45); } }
//BSP-Methode Modul06 static void RadAb(IBewegbar bewegbaresObjekt) { bewegbaresObjekt.AnzahlRäder--; if (bewegbaresObjekt is Flugzeug) { Flugzeug flugzeug1 = (Flugzeug)bewegbaresObjekt; flugzeug1 = bewegbaresObjekt as Flugzeug; Console.WriteLine(flugzeug1.Name + " hat auf " + flugzeug1.MaxFlughöhe + "m ein Rad verloren."); Console.WriteLine((bewegbaresObjekt as Flugzeug).Name); } }
//Bsp-Methode Modul 06 /// <summary> /// Hier kann eine Beschreibung der Methode stehen /// </summary> /// <param name="bewegbar">Ein bewegbares Objekt</param> /// <exception cref="FormatException"></exception> public static void RadAb(IBewegbar bewegbar) { bewegbar.RäderAnzahl--; if (bewegbar is PKW) { PKW pkw1 = (PKW)bewegbar; Console.WriteLine($"{pkw1.Name} hat ein Rad verloren."); Console.WriteLine($"{((PKW)bewegbar).Name} hat ein Rad verloren."); Console.WriteLine($"{(bewegbar as PKW).Name} hat ein Rad verloren."); } }
//Bsp-Methode Modul06 public static void MontiereNeuesRad(IBewegbar bewegbaresObjekt) { bewegbaresObjekt.AnzahlRaeder++; }