Guten Morgen,
heute habe ich mir C# angesehen.
Ich habe eine Klasse Einheit eingerichtet und eine Einheit Zeit.
Die Klasse Zeit erbt aus der Klasse Einheit.
In der Klasse Einheit habe ich den Operator + definiert.
Addiere ich nun zwei Objekte vom Typ Zeit, wird das Ergebnis Einheit (es sollte aber Zeit werden). Das verwirrt mich. Hier die Definition des Operators:
Definition der Klasse:
heute habe ich mir C# angesehen.
Ich habe eine Klasse Einheit eingerichtet und eine Einheit Zeit.
Die Klasse Zeit erbt aus der Klasse Einheit.
In der Klasse Einheit habe ich den Operator + definiert.
Addiere ich nun zwei Objekte vom Typ Zeit, wird das Ergebnis Einheit (es sollte aber Zeit werden). Das verwirrt mich. Hier die Definition des Operators:
public static Einheit operator +(Einheit A, Einheit B)
{
//Rechne B in die Dimension von A um
B.Umrechnen(A.Dimension);
//Berechne die Werte und Erzeuge eine Einheit
return new Einheit(A.Wert + B.Wert, A.Dimension);
}
Definition der Klasse:
Code:
class Zeit : Einheit
{
//Konstruktoren aus Einheit
public Zeit() : base() { }
public Zeit(double wert) : base(wert) { }
public Zeit(double wert, string dimension) : base(wert, dimension) { }
//Methoden
public override List<string> Dimensionen()
public override List<double> Faktoren()
}
[/ICODE]