import java.lang.Math;
public class FiguraProba
{
public abstract class Figura {
public abstract double pole();
public abstract double obwod();
}
public abstract class Czworokat extends Figura {
public double obwod(double bok1, double bok2, double bok3, double bok4)
{
return (bok1+bok2+bok3+bok4);
}
public abstract double pole();
}
public class Kwadrat extends Czworokat {
double bok1;
public Kwadrat(double bokPodany)
{
bok1=bokPodany;
}
public double pole(double bok1) {
return bok1*bok1;
}
}
public class Prostokat extends Czworokat {
double bok1, bok2;
public Prostokat(double bokPodany1, double bokPodany2)
{
bok1=bokPodany1;
bok2=bokPodany2;
}
public double pole(double bok1, double bok2) {
return bok1*bok2;
}
}
public static void main(String args[])
{
//System.out.println(Math.sin(90*(Math.PI/180)));
}
}
私は英語の変数名を使用しています。私の目標は:私は5面のオブジェクトf.equaresExampleを持っています。クラスsquareから領域を計算する関数を呼び出し、perimeterクラスをクラスquadrangeから関数境界を呼び出して呼び出したい。出来ますか? コンパイラはこう言っています: "FiguraProba.Prostokatは抽象ではなく、FiguraProba.Czworokatの抽象メソッドpole()をオーバービューしません。"私はエラーを理解していますが、目標を達成するためにエラーを解決する方法はわかりません。抽象クラス、継承、図形でprogrammを実行する最善の方法
外国語でコード変数とクラスを使用して申し訳ありません。 - フィギュア kwadrat - 平方 czworokat - 四角形 prostokat - 長方形 ポール - エリア obwod - 周囲のBOK - FIGURA側ソリューションは、次のようになり
'pole'メソッドを正しくオーバーライドしていません。 'abstract'クラスに引数を定義しないと、それを無視することはできません。あなたのクラスProstokatとKwadratはインスタンスを持つことができるクラスです。したがって、あなたは契約ごとに 'pole'メソッドを実装する必要があります(' extend'使用法)。 –
私の答えはあなたを@PoorGuyに助けますか? –