Hallo, Comunity.
Ich habe diesen UML Diagramm vorgegeben (Anhang, ja es ist klein, aber größer hab ichs selbst nich)
In der abstrakten Klasse Medium befindet sich die Methode setAusleihdatum, nur wie verknüpfe ich z.B. mein erzeugtes buch1 mit dem Datum a?
Eigentlich will ich dem Medium ja das Datum in der main Methode mit geben, nur ist in Medium.java alles protected. Woher bekommt setAusleihdatum dann das leihdatum?
Ich muss ja meinen Medien verschiedene Daten zuweisen können.
Dann steht in dem UML Diagramm dass setAusleihdatum keinen return Wert hat, muss ich dann nicht
schreiben?
Vielen Dank euch
Die Klassen sehn bei mir wie folgt aus:
BibVerwaltung, mit der main Methode:
Die abstrakte Klasse:
DVD (buch ist sehr ähnlich)
Ich habe diesen UML Diagramm vorgegeben (Anhang, ja es ist klein, aber größer hab ichs selbst nich)
In der abstrakten Klasse Medium befindet sich die Methode setAusleihdatum, nur wie verknüpfe ich z.B. mein erzeugtes buch1 mit dem Datum a?
Eigentlich will ich dem Medium ja das Datum in der main Methode mit geben, nur ist in Medium.java alles protected. Woher bekommt setAusleihdatum dann das leihdatum?
Ich muss ja meinen Medien verschiedene Daten zuweisen können.
Dann steht in dem UML Diagramm dass setAusleihdatum keinen return Wert hat, muss ich dann nicht
Code:
protected void setAusleihdatum (Datum leihdatum){...}
Vielen Dank euch
Die Klassen sehn bei mir wie folgt aus:
BibVerwaltung, mit der main Methode:
Java:
public class BibVerwaltung {
public static void main(String[] args){
Datum a=new Datum (2011, 5, 3);
Medium buch1 = new Buch("EI2", "Blanz", 1000);
Medium buch2 = new Buch("Analysis", "Michel", 1500);
Medium dvd1 = new DVD ("Der Exorzist", "William Friedkin", 122);
Medium dvd2 = new DVD ("film2", "rg", 104);
}
}
Die abstrakte Klasse:
Java:
abstract class Medium {
protected String Mediumstitel;
protected Datum Ausleihdatum;
protected Medium (String title){
this.Mediumstitel=title;
}
protected String getTitle(){
return Mediumstitel;
}
protected abstract double berechneStrafgeld();
protected setAusleihdatum (Datum leihdatum){
Ausleihdatum=leihdatum;
}
}
DVD (buch ist sehr ähnlich)
Java:
public class DVD extends Medium{
private String DVD_Regisseur;
private int DVD_Laenge;
public DVD (String title, String regisseur, int laenge){
super(title);
this.DVD_Regisseur = regisseur;
this.DVD_Laenge = laenge;
}
public double berechneStrafgeld(){
}
public String getRegisseur(){
return DVD_Regisseur;
}
public int getLaenge(){
return DVD_Laenge;
}
}
Java:
import java.util.*;
import java.io.*;
public class Datum {
private int Jahr;
private int Monat;
private int Tag;
private Calendar cal;
public Datum() {
cal=Calendar.getInstance();
Jahr=cal.get(1);
Monat=cal.get(2)+1;
Tag=cal.get(5);
}
public Datum(int jahr, int monat, int tag){
cal=Calendar.getInstance();
this.Jahr=jahr;
this.Monat=monat;
this.Tag=tag;
}
public int getJahr() {
return Jahr;
}
public int getMonat() {
return Monat;
}
public int getTag() {
return Tag;
}
public int calcDiffDays(Datum ausleih) {
int daysDiff=0;
int a = ausleih.getJahr();
int b = ausleih.getMonat();
int c = ausleih.getTag();
int anow = cal.get(Calendar.YEAR);
int bnow = cal.get(Calendar.MONTH);
int cnow = cal.get(Calendar.DAY_OF_MONTH);
daysDiff = (anow-a)+30*(bnow-b)+365*(cnow-c);
return daysDiff;
}
}