Funktionen von Superklassen überschreiben
- Home
- Tutorials
- C
- Der Ultimative C# Kurs - Hier wirst Du zum CSharp Pro
- Funktionen von Superklassen überschreiben
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufen
Man kann in der Programmierung Funktionen von Superklassen überschreiben, wenn man z.B. für diese Klasse gerade für diese Funktion spezielle Anforderungen hat. Das kann nützlich sein, wenn man z.B. allgemein die Funktionalität der Superklasse übernehmen möchte, jedoch manche Funktionen etwas besonders haben möchte.
Schauen wir uns dazu an wie man das in CSharp machen kann. Dazu baue ich auf dem Code vom letzten Artikel auf.
class Programm
{
public static void Main(string[] args)
{
Auto einAuto = new Auto(20, "lila");
einAuto.reparieren();
Console.WriteLine(einAuto.infoAnzeigen());
Audi A4 = new Audi(150, "rot", "A4");
A4.reparieren();
Console.WriteLine(A4.infoAnzeigen());
Console.ReadLine();
}
}
public class Auto
{
private int ps;
private string farbe;
public Auto(int ps, string farbe)
{
this.ps = ps;
this.farbe = farbe;
}
public string infoAnzeigen()
{
return "PS: " + ps + " Farbe: " + farbe;
}
public void reparieren()
{
Console.WriteLine("Das Auto wurde repariert!");
}
}
public class Audi : Auto
{
private int ps;
private string farbe;
private string modell;
// Anlegen des Konstruktors und zuweisung zum Base Konstruktor der Superklasse
public Audi(int ps, string farbe, string modell) : base(ps, farbe)
{
this.ps = ps;
this.farbe = farbe;
this.modell = modell;
}
// Überschrieben Funktion deren Inhalte sich von der der Superklasse unterscheiden
public string infoAnzeigen()
{
return "PS: " + ps + " Farbe: " + farbe + " Modell: " + modell;
}
// Überschrieben Funktion deren Inhalte sich von der der Superklasse unterscheiden
public void reparieren()
{
Console.WriteLine("Der Audi " + modell + " wurde repariert!");
}
}
Du siehst also wir können eine Funktion überschrieben und ihr somit unsere gewünschte Funktionalität geben. Wenn wir nun auch möchten, dass sie andere Parameter benötigt, dann müssen wir "Overloading" verwenden (das werden wir dann im Kapitel zur Polymorphie behandeln).
Das macht in diesem kleinen Beispiel vielleicht keinen so großen Unterschied/Sinn, häufig ist es jedoch so, dass man bei der Programmierung eigene Klassen erstellt, die von Klassen erben, die man nicht selbst erstellt hat. Da macht das dann durchaus Sinn, wenn man eben die Funktionalität der Superklasse durch die eigene ersetzen oder erweitern möchte.
Vorherig
Einführung in Vererbung in CSharp
Der Ultimative C# Kurs - Hier wirst Du zum CSharp Pro
-
So holst du das meiste aus dem Kurs
-
Lektion1.1
-
Lektion1.2
-
Lektion1.3
-
-
Deine erste C# Anwendung und Übersicht zu Visual Studio
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
-
Datentypen und Variablen
-
Lektion3.1
-
Lektion3.2
-
Lektion3.3
-
Lektion3.4
-
Lektion3.5
-
-
Funktionen / Methoden und wie sie einem das Leben vereinfachen
-
Lektion4.1
-
Lektion4.2
-
Lektion4.3
-
Lektion4.4
-
-
Benutzereingabe für unsere Programme verwenden
-
Lektion5.1
-
-
Entscheidungen Treffen
-
Lektion6.1
-
Lektion6.2
-
Lektion6.3
-
Lektion6.4
-
Lektion6.5
-
Lektion6.6
-
Lektion6.7
-
Lektion6.8
-
-
Schleifen (Loops) und wie man etwas automatisiert
-
Lektion7.1
-
Lektion7.2
-
Lektion7.3
-
Lektion7.4
-
Lektion7.5
-
Lektion7.6
-
Lektion7.7
-
-
Objektorientierte Programmierung (OOP) und Klassen
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
Lektion8.4
-
Lektion8.5
-
Lektion8.6
-
Lektion8.7
-
Lektion8.8
-
Lektion8.9
-
Lektion8.10
-
Lektion8.11
-
-
Arrays / Felder
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Lektion9.4
-
Lektion9.5
-
Lektion9.6
-
-
ArrayList
-
Lektion10.1
-
Lektion10.2
-
Lektion10.3
-
Lektion10.4
-
Lektion10.5
-
-
Vererbung / Inheritance und noch mehr zu OOP
-
Lektion11.1
-
Lektion11.2
-
Lektion11.3
-
Lektion11.4
-
-
Polymorphie und noch mehr zu OOP
-
Lektion12.1
-
Lektion12.2
-
Lektion12.3
-
Lektion12.4
-
Lektion12.5
-
Lektion12.6
-
-
Debugging und Try and Catch
-
Lektion13.1
-
Lektion13.2
-
-
Mit Dateien Arbeiten
-
Lektion14.1
-
Lektion14.2
-
Lektion14.3
-
Beliebte Kurse
Die Java 11 Masterclass - Werde zum Profi-Entwickler!
Werde zum Entwickler mit der Java 11 Masterclass! Starte in...
19,99€
Spiele entwickeln mit Unity 3D – Erstelle eigene Games in C# - Starter
Willkommen zum kostenlosen Teil des Kurses: "Spiele entwickeln mit Unity...
Kostenlos
Werde zum iOS 11 & Swift Entwickler in 6 Wochen - Starter
Willkommen zum kostenlosen Teil des Kurses: "Werde zum iOS 11...
Kostenlos