Mit class Hund : Tier erbt eine Klasse. Basismethoden markierst du virtual, Unterklassen überschreiben sie mit override. Ein Interface (interface IFahrbar) beschreibt einen Vertrag, den Klassen erfüllen.
Fehler behandelst du mit try/catch/finally. Mit using werden Ressourcen wie Dateien automatisch freigegeben.
interface ILaut { string Laut(); }
class Tier : ILaut
{
public virtual string Laut() => "...";
}
class Hund : Tier
{
public override string Laut() => "Wuff";
}
ILaut t = new Hund();
Console.WriteLine(t.Laut()); // Wuff
try { int x = int.Parse("abc"); }
catch (FormatException) { Console.WriteLine("Keine Zahl"); }Merke
virtualundoverridefür PolymorphieInterfaces beschreiben Verträge
try/catch/finallyundusing
Aufgabe
Lege ein Interface `IForm` mit `Flaeche()` an und implementiere es für Kreis und Rechteck.