Vererbung (Beispiel)


using System;

namespace Erb {

    class A {
        // kein dynamischer Dispatch
	public void Q () {
	    Console.WriteLine ("A.Q");
	}
	// dynamischer Dispatch
	public virtual void T () {
	    Console.WriteLine ("A.T");
	}   
	// dynamischer Dispatch
	public virtual void S () {
	    Console.WriteLine ("A.S");
	}   
    }

    class B : A {
        // hiding ( verstecken)
	public new void Q () {
	    Console.WriteLine ("B.Q");
	}
	// überschreiben
	public override void T () {
	    Console.WriteLine ("B.T");
	}   
	public new virtual void S () {
	    Console.WriteLine ("B.S");
	}   
    }

    class C : B {
	public override void S () {
	    Console.WriteLine ("C.S");
	}   
    }

    class Top {
	public static void Main (string [] args) {
	    B z = new C (); z.S();
	} 
    }

	 


}



Johannes Waldmann 2007-06-21