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-virtuelle Methoden

Datum

28.10.10

Vortragender

Prof. Dr. Tepper

  • werden in einer Basisklasse mit virtual'’ gekennzeichnet
  • sie kann in Sub-Classes polymorph überschrieben werden
  • in der überschreibenden Sub-Class muss die Methode explizit mit override gekennzeichnet werden
  • hier (im Gegensatz zur Polymorphie) entscheidet der Objekttyp ob Basis oder Sub-Class ausgeführt wird.
  • polymorphe Methoden werden spät, d.h. zur Laufzeit, gebunden und sind somit zur Laufzeit änderbar
Beispiel Polymorphie
C#
 
public class Basis
{
   public virtual void zeigDich()
   {
      Console.... („Basis zeigDich“);
   }
}
 
public class Sub:Basis
{
  public override void zeigDich()
  {
     Console.... („Sub....“);
  }
}
 
public class Sub2:Basis
{
   public override void zeigDic()
   {
      Console....(„Sub2 zeigDich“)
   }
}
 
public class SubSub2:Sub2
{
   public override void zeigDich()
   {
      Console....... („SubSub2...“);
   }
}
 
class X
{
   static void Main(...)
   {
      Basis[] basis = new Basis[5]
                      { new Basis();
                        new Sub1();
                        new Sub2();
                        new SubSub2();
                        new Sub2()
                      };            //die Objekttypen entscheiden
 
       for(int i=0; i < basis.length; i++)
          basis[i].zeigDich;
   }
}
 
  • Ausgabe: Basis, Sub1, Sub2, SubSub2 Sub2,
  • K L A U S U R R E L E V A N T


Kategorie: Programmieren3 | 3. Semester
| Mehr

Zahlen & Daten

  • 1261 Seitenaufrufe
  • 569 Tage alt
  • 2 Versionen
  • Letzte Änderung: 28.10.2010 um 11:09 Uhr

Publish