Was ist das hier?

  • Eine Plattform von Flensburger Studenten für Flensburger Studenten
  • Ein Wiki zum Sammeln von Wissen
  • Ein Forum zum Austausch
  • Eine Wissensdatenbank zum Informatikstudium:
    • Programmieren in C, C#, PHP, Javascript, HTML, CSS
    • Datenbanken und Abfragen mit SQL
    • 2D / 3D - Gestaltung
    • Mathe, Physik, Gerätetechnik, RoBs
    • Audio- / Videotechnik
    • ...und vieles mehr

Anmelden

Warum registrieren?

Weil besser als gut!

 

C-Squared-Vererbung und Polymorphie

Datum

28.10.10

Vortragender

Prof. Dr. Tepper

zunächst: Redefinition oder Überdeckung oder auch Versionierung

  • Member (Attribute, Properties, Methoden) einer Sub-Class überdecken gleichnamige Member der Basisklasse (muss nicht die direkte Basisklasse sein. (gleiche Signatur der Methoden == z.B. gleiche Parameterliste, gleiche Rückgabewerte...)
  • Diese Redefinition wird explizit mit dem new-Modifizierer gekennzeichnet.

(sonst Compilerwarnung)

  • Der Typ der Objektreferenz entscheidet ob Basis oder Sub-Class-Anteil ausgeführt wird
Beispiel Redefinition
C#
 
public class Basis
{
   protected string str = „Basis:;
   public void zeigDich();
   {
      Console.WriteLine(str + „ Basis zeigDich“);
   }
}
 
public class Sub:Basis //Sub erbt aus Basis
{
  protected new string str = „Sub :;
  public new void zeigDich()
  {
     Console..... (str + „Sub zeigDich“);
  }
}
 
class Class1
{
   static void Main(...)
   {
      Basis basis    = new Basis();
      Sub   sub      = new Sub();
      Basis subBasis = nwe Sub();
 
      basis.zeigDich();
      sub.zeigDich();
      subBasis.zeigDich();
 
   }
}
 
  • Die Referenztypen entscheiden, was ausgegeben wird:
    • Basis: Basis zeigDich
    • Sub  : sub zeigDich
    • Basis: Basis zeigDich



Kategorie: Programmieren3 | 3. Semester
| Mehr

Zahlen & Daten

  • 1204 Seitenaufrufe
  • 569 Tage alt
  • 1 Versionen
  • Letzte Änderung: 28.10.2010 um 10:48 Uhr

Publish