Polymorphie mit C# und Java
Sprachkonzepte · 2007-09-07 12:45
Obwohl die Syntax von Java und C# sehr ähnlich sind, gibt es doch auch sehr gravierende Unterschiede. Denn während in Java alle Methode implizit als virtuell gelten, so muss dies bei C# extra mit dem keyword virtual gekennzeichnet werden wie auch bei C++. Um diesen Unterschied zu veranschaulichen, habe ich hier einmal den entsprechenden Code in C# und Java gegenübergestellt.
Beispiel in C# : Polymorphie.cs
using System;
namespace Livoris.EinfacherCode
{
class Vater
{
public virtual void print()
{
Console.WriteLine("VATER!");
}
}
class Sohn : Vater
{
public override void print()
{
Console.WriteLine("SOHN!");
}
}
class Polymorphie
{
static void Main(string[] args)
{
Vater v = new Vater();
v.print(); /* VATER */
Sohn s = new Sohn();
s.print(); /* SOHN */
v = s;
v.print(); /* SOHN */
}
}
}
Download this code
Beispiel in Java : Polymorphie.java
package de.livoris.einfachercode;
public class Polymorphie {
class Vater {
public void print() {
System.out.println("VATER");
}
}
class Sohn extends Vater {
public void print() {
System.out.println("SOHN");
}
}
public Polymorphie() {
Vater v = new Vater();
v.print(); /* VATER */
Sohn s = new Sohn();
s.print(); /* SOHN */
v = s;
v.print(); /* SOHN */
}
public static void main(String[] args) {
new Polymorphie();
}
}
Download this code
— Webmaster
Kommentarfunktion für diesen Artikel geschlossen