Hallo!
Dass in Java jede Klasse (außer Object) von genau einer Klasse erbt, weiß ich. Aber wie würde man das folgende Beispiel "richtig" Programmieren? Es bezieht sich auf die objektorientierte Programmierung. Ich hoffe, das ist erlaubt. ^^
Bei dem Beispiel werde ich mich sehr kurz halten und nur die benötigten Methoden aufschreiben um die Übersicht zu bewahren. Insbesondere sinnvolle Konstruktoren seien implementiert.
Die abstrakte Klasse RealFunction beinhaltet funktionen die von einer beliebigen Menge in die reellen Zahlen abbildet. In Java-Worten: von Obejct nach Double.
Die abstrakte Klasse RealFunction beinhaltet funktionen die von den reellen Zahlen in die reellen Zahlen abbildet. Sie beinhaltet zusätzlich die Methode integral, die die Funktion auf der Menge [lowerBound,upperBound] integriert. (z.B. via Romberg-Integral).
Die Klasse EuklidischeNorm (die die euklidische Norm von Object o darstellt (o muss dazu in einem passenden Format vorliegen) Euklidische Norm ? Wikipedia) würde von RealFunktion erben - denn es ist ja eine reelle Funktion.
Die Klasse Betrag ist eine univariate reelle Funktion. Insbesondere kann das Integral auf einem beschränkten Intervall berechnet werden. -> erbt von UnivariateRealFunction
Auf der anderen Seite ist der Betrag nicht weiter als die euklidische Norm auf den reellen Zahlen -> erbt von EuklidischeNorm.
Mit anderen Worten: die Klasse Betrag soll von 2 Klassen erben?!
Wie würde man dies "richtig/schön" programmieren?
Vielen Dank fürs lesen.
Dass in Java jede Klasse (außer Object) von genau einer Klasse erbt, weiß ich. Aber wie würde man das folgende Beispiel "richtig" Programmieren? Es bezieht sich auf die objektorientierte Programmierung. Ich hoffe, das ist erlaubt. ^^
Bei dem Beispiel werde ich mich sehr kurz halten und nur die benötigten Methoden aufschreiben um die Übersicht zu bewahren. Insbesondere sinnvolle Konstruktoren seien implementiert.
Die abstrakte Klasse RealFunction beinhaltet funktionen die von einer beliebigen Menge in die reellen Zahlen abbildet. In Java-Worten: von Obejct nach Double.
Java:
public abstract class RealFunction {
public abstract Double valueAt(Object x);
}
Die abstrakte Klasse RealFunction beinhaltet funktionen die von den reellen Zahlen in die reellen Zahlen abbildet. Sie beinhaltet zusätzlich die Methode integral, die die Funktion auf der Menge [lowerBound,upperBound] integriert. (z.B. via Romberg-Integral).
Java:
public abstract class UnivariateRealFunction extends RealFunction {
public Double valueAt(Object x){
if( ! (f instanceof Double) ){
mach irgendwas (z.B. Exception werfen)
}
return this.valueAt( (Double) x );
}
public abstract Double valueAt(Double x);
public Double integral(double lowerBound, double upperBound){ .... }
}
Die Klasse EuklidischeNorm (die die euklidische Norm von Object o darstellt (o muss dazu in einem passenden Format vorliegen) Euklidische Norm ? Wikipedia) würde von RealFunktion erben - denn es ist ja eine reelle Funktion.
Die Klasse Betrag ist eine univariate reelle Funktion. Insbesondere kann das Integral auf einem beschränkten Intervall berechnet werden. -> erbt von UnivariateRealFunction
Auf der anderen Seite ist der Betrag nicht weiter als die euklidische Norm auf den reellen Zahlen -> erbt von EuklidischeNorm.
Mit anderen Worten: die Klasse Betrag soll von 2 Klassen erben?!
Wie würde man dies "richtig/schön" programmieren?
Vielen Dank fürs lesen.