hallo miteinander
mit abstract kann man keine instanzen bilden, oder verstehe ich es falsch!
mit abstract kann man keine instanzen bilden, oder verstehe ich es falsch!
Code:
package pkg.abs;
import pkg.*;
import java.io.Console;
abstract class Form {
public abstract double umfang();
public abstract double flaeche();
}
class Kreis extends Form {
private double radius = 1.0;
public Kreis() { }
public Kreis(double r) { this.radius = r; }
public double getRadius() { return radius; }
public void setRadius(double r) {
if (r > 0)
this.radius = r;
}
public double umfang() { return 2 * Math.PI * radius; }
public double flaeche() { return Math.PI * radius * radius; }
}
class Rechteck extends Form {
private double breite = 1.0;
private double laenge = 1.0;
public Rechteck() { }
public Rechteck(double b, double l) {
this.breite = b;
this.laenge = l;
}
public double getBreite() { return breite; }
public double getLaenge() { return laenge; }
public void setBreite(double b) {
if (b > 0)
this.breite = b;
}
public void setLaenge(double l) {
if (l > 0)
this.laenge = l;
}
public double umfang() { return 2 * (laenge + breite); }
public double flaeche() { return laenge * breite; }
}
class AbstrakteKlassen {
public static void main(String[] args) {
Console cons = System.console();
cons.printf("\n");
Form[] formen = new Form[3];
formen[0] = new Kreis(3);
formen[1] = new Rechteck(10, 2);
formen[2] = new Kreis(12.8);
double gesamtflaeche = 0.0;
for(int i = 0; i < formen.length; ++i)
gesamtflaeche += formen[i].flaeche();
cons.printf(" Gesamtfl�che = %.2f \n", gesamtflaeche);
}
}