Hallo!
Ich habe folgendes Problem:
Meine Superklasse Haus berechnet meine Hausgrundfläche = grundfläche
Die Subklasse Blockhaus soll auf grundfläche zugreifen, um dachfläche zu berechnen.
Alles funktioniert prima, nur bekomme ich als dachfläche Wert immer 0.0 raus. Schmeiße ich den ganzen dachfläche Kram in die Superklasse, dann bekomme ich den korrekten Wert. Irgendwie muss das also mit meinem Zugriff auf die Superklasse zu tun haben.
Baue ich jetzt aber super in den Konstruktor ein, muss ich ja Übergabeparameter eintragen, dann funktioniert es auch. Ich muss aber mit BlueJ arbeiten, und bei der Erstellung der Objekte muss ich dann diese Übergabeparameter gesondert eingeben. Was ich aber nicht will.
Ich bitte um Hilfe- raufe mir schon die Haare.
Herzliche Grüße und Danke im Voraus.
Ich habe folgendes Problem:
Meine Superklasse Haus berechnet meine Hausgrundfläche = grundfläche
Die Subklasse Blockhaus soll auf grundfläche zugreifen, um dachfläche zu berechnen.
Alles funktioniert prima, nur bekomme ich als dachfläche Wert immer 0.0 raus. Schmeiße ich den ganzen dachfläche Kram in die Superklasse, dann bekomme ich den korrekten Wert. Irgendwie muss das also mit meinem Zugriff auf die Superklasse zu tun haben.
Baue ich jetzt aber super in den Konstruktor ein, muss ich ja Übergabeparameter eintragen, dann funktioniert es auch. Ich muss aber mit BlueJ arbeiten, und bei der Erstellung der Objekte muss ich dann diese Übergabeparameter gesondert eingeben. Was ich aber nicht will.
Ich bitte um Hilfe- raufe mir schon die Haare.
Herzliche Grüße und Danke im Voraus.
Code:
public class Haus
{
private String namehausherr;
private String straße;
private int hausnummer;
private int plz;
private String ort;
private String adresse;
private double breite;
private double tiefe;
private double höhe;
public double grundfläche;
private double flächeaußenwand;
private double gesamtkosten;
/**
* Constructor for objects of class Haus
*/
public Haus()
{
breite = 0;
tiefe = 0;
höhe = 0;
grundfläche = 0;
flächeaußenwand = 0;
gesamtkosten = 0;
}
public void setzeMaße ( double breite, double tiefe, double höhe)
{
this.breite = breite;
this.tiefe = tiefe;
this.höhe = höhe;
}
public void berechnegrundfläche()
{
grundfläche = (breite*tiefe);
this.grundfläche = grundfläche;
}
public void berechneflächeaußenwand ()
{
flächeaußenwand = (breite*höhe*4);
this.flächeaußenwand = flächeaußenwand;
}
public void ausgebenMaße ()
{
System.out.println("Breite: m " + breite );
System.out.println("Tiefe: m " + tiefe );
System.out.println("Höhe: m " + höhe );
System.out.println("Grundfläche: m² " + grundfläche);
System.out.println("Hausaußenfläche:m² " + flächeaußenwand);
}
}
public class Blockhaus extends Haus
{
private double kostenerrichtung;
private double kostenflachdach;
private double dachfläche;
public Blockhaus ()
{
dachfläche = 0;
kostenerrichtung = 0;
kostenflachdach = 0;
}
public void berechneDach ()
{
dachfläche = (grundfläche*1.2);
this.dachfläche = dachfläche;
System.out.println("Dachfläche : m²" + dachfläche);
}
}