A
Anarias
Gast
Hi, Ich hab eine Frage zu abstrakten klassen.
Zum einen habe ich eine abstrakte Klasse Kunde und eine Konkrete Klasse Firmenkunde. Ich hab beide Klassen angelegt und möchte jetzt testen, obs funktioniert. Allerdings weiss ich nicht genau wo ich jetzt das Hauptprogramm hinplazieren soll und wie ich 2 Kunden anlege. Also einen Privatkunden und einen Firmenkunden, denn new darf ja bei abstrakten klassen nicht benutzt werden. Hier sind meine beiden Codes:
[Edit by Beni: wiedereinmal *seufz* codetags eingefügt]
Zum einen habe ich eine abstrakte Klasse Kunde und eine Konkrete Klasse Firmenkunde. Ich hab beide Klassen angelegt und möchte jetzt testen, obs funktioniert. Allerdings weiss ich nicht genau wo ich jetzt das Hauptprogramm hinplazieren soll und wie ich 2 Kunden anlege. Also einen Privatkunden und einen Firmenkunden, denn new darf ja bei abstrakten klassen nicht benutzt werden. Hier sind meine beiden Codes:
Code:
package kundenverwaltung;
public abstract class Kunde {
private int id;
private String vorname;
private String nachname;
public Kunde() //leerer Konstruktor
{
super();
}
public Kunde(int id, String vorname, String nachname) //Konstruktor
{
super();
this.id = id;
this.vorname = vorname;
this.nachname = nachname;
}
public abstract void setKunde(int id, String vorname, String nachname);//abstrakte Methode
@Override //umwandeln in String
public String toString()
{
return "ID: " + id + " Vorname: " + vorname + " Nachname: " + nachname;
}
@Override // Objekt vergleichen
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj instanceof Kunde == false)
return false;
Kunde k = (Kunde) obj;
return k.equals(obj);
}}
Code:
package kundenverwaltung;
public class Firmenkunde extends Kunde
{
private float rabatt;
public Firmenkunde(int id, String vorname, String nachname, float rabatt)
{
super(id, vorname, nachname); //Attribute der Klasse Kunde - Ableitung
this.rabatt = rabatt;
}
public float getRabatt() {
return rabatt;
}
@Override
public void setKunde(int id, String vorname, String nachname) {
// TODO Auto-generated method stub ????????????????????????? Was muss ich hier machen????
}
@Override
public String toString() //umwandeln String + Ableitung toString Superklasse
{
return super.toString() + " Rabatt: " + rabatt;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj instanceof Firmenkunde == false)
return false;
Firmenkunde FK = (Firmenkunde) obj;
return FK.rabatt == rabatt;
}
}
[Edit by Beni: wiedereinmal *seufz* codetags eingefügt]