G
Guest
Gast
Hallo,
ich habe da eine Frage bezüglich meinem Code ,genauer Klasse Test.
Folgendes ich will von der Klasse Test aus die Methoden in den Unterklassen von Bin ,also Sub,Div ,Add ausführen.
Die Klasse abstract Expr ist meine Oberklasse, Const ist die Unterklasse von Expr , die Klasse Bin abstracte Klasse und Unterklasse von Expr.
Die weiteren Rechenoperationsklassen Div,Sub,Mul,Add Unterklasse von Bin.
Mein Verständnisproblem:
Wie führe ich in der Klasse Test die Methoden in den Unterklassen (Sub ,Add...) von Bin aus ?
Wenn ich Test extends Bin mache funktioniert das nicht wirklich,dann wird eine Struktur mit den ganzen Methoden eval,print usw. verlangt und es besteht der Fehler noch immer das die in Test vorkommenden Methodenaufrufen nicht gefunden werden.
Hier der etwas zu lang geratene Code =)
ich habe da eine Frage bezüglich meinem Code ,genauer Klasse Test.
Folgendes ich will von der Klasse Test aus die Methoden in den Unterklassen von Bin ,also Sub,Div ,Add ausführen.
Die Klasse abstract Expr ist meine Oberklasse, Const ist die Unterklasse von Expr , die Klasse Bin abstracte Klasse und Unterklasse von Expr.
Die weiteren Rechenoperationsklassen Div,Sub,Mul,Add Unterklasse von Bin.
Mein Verständnisproblem:
Wie führe ich in der Klasse Test die Methoden in den Unterklassen (Sub ,Add...) von Bin aus ?
Wenn ich Test extends Bin mache funktioniert das nicht wirklich,dann wird eine Struktur mit den ganzen Methoden eval,print usw. verlangt und es besteht der Fehler noch immer das die in Test vorkommenden Methodenaufrufen nicht gefunden werden.
Hier der etwas zu lang geratene Code =)
Code:
abstract class Expr {
protected double g;
public Expr (double k) {
g=k;
}
public abstract double eval (double g);
public abstract void print (String g);
}
class Const extends Expr{
protected double zahl;
public Const(double k) {
super(k);
}
public double eval(double g) {
return 0;
}
public void print(String g) {
String out = new String (g);
System.out.println(out);
}
}
abstract class Bin extends Expr{
protected double e,f;
public Bin(double k) {
super(k);
}
public abstract String oper () ;
public abstract void print(String g);
}
class Add extends Bin{
public Add(double k) {
super(k);
}
public double eval(double g) {
return 0;
}
public String oper() {
return "+";
}
@Override
public void print(String g) {
// TODO Auto-generated method stub
}
}
class Sub extends Bin{
public Sub(double k) {
super(k);
}
public double eval(double g) {
return 0;
}
public String oper() {
return "-";
}
@Override
public void print(String g) {
// TODO Auto-generated method stub
}
}
class Mul extends Bin{
public Mul(double k) {
super(k);
}
public double eval(double g) {
return 0;
}
public String oper() {
return "*";
}
@Override
public void print(String g) {
// TODO Auto-generated method stub
}
}
class Div extends Bin {
public Div(double k) {
super(k);
}
public String oper() {
return "/";
}
@Override
public void print(String g) {
// TODO Auto-generated method stub
}
@Override
public double eval(double g) {
// TODO Auto-generated method stub
return 0;
}
}
class Test{
public static void main (String [] args){
Expr x= new Add(new Const(2),new Mul(new Const(3),new Const(4)));
x.print();
System.out.println(" -> " + x.eval());
}
}