Hallo
Hier die Aufgabenstellung
Gegen war nur public static void main(String[] args), wobei hier noch die TODOS programmiert werden mussten.
Da bin ich mir nun relativ sicher, dass ich das richtig gemacht habe, allerdings komme ich bei den Klassen nicht weiter, denn die Methoden darin scheinen nicht aufgerufen zu werden?
Wäre nett, wenn mir jemand helfen könnte.
LG und Danke, V.
Hier die Aufgabenstellung
Erstellen Sie für die unten in UML abgebildete Klassenhierarchie entsprechende Java Klassen. Implementieren Sie alle Methoden als „Dummy-Methoden“ die einen Text auf die Konsole ausgeben, welcher signalisiert welche Methode wo aufgerufen wurde (z.B. „open file“, „show picture“, „play video“, etc.) Beachten Sie, dass die open() Methode in VideoFile eine Erweiterung der open() Methode in File ist, welche zusätzliche Aufgaben erledigt (bei uns einfach einen zusätzlichen Text ausgibt). Vervollständigen Sie Aufgabe6.java und testen Sie Ihre Implementierung damit (Hinweis: verwenden Sie einen generischen Vector sowie einen Iterator dafür!) . Ihr Programm sollte folgenden Text ausgeben:
open file
close file
open file
show picture
close file
open file
open video
play video
close file
Gegen war nur public static void main(String[] args), wobei hier noch die TODOS programmiert werden mussten.
Da bin ich mir nun relativ sicher, dass ich das richtig gemacht habe, allerdings komme ich bei den Klassen nicht weiter, denn die Methoden darin scheinen nicht aufgerufen zu werden?
Code:
package ab6;
import java.util.*;
public class Aufgabe6 {
public static void main(String[] args) {
/*TODO: use a generic vector and store
* one regular file, one picture file, and one video file therein.
*/
Vector<File> meineDateien=new Vector<File>();
meineDateien.add(new RegularFile());
meineDateien.add(new PictureFile());
meineDateien.add(new VideoFile());
Iterator<File> iter = meineDateien.iterator();
//TODO: use an iterator to iterate over all items in the vector
while (iter.hasNext())
{
File f = new File();
f.open();
if (f instanceof PictureFile)
((PictureFile)f).show();
else if (f instanceof VideoFile)
((VideoFile)f).play();
f.close();
}
}
}
class File{
int sizeInBytes;
Date chreatedON;
/*public File(){
this.sizeInBytes=sizeInBytes;
this.chreatedON=chreatedON;
}*/
public String open(){
return "open file";
}
public String close(){
return "close file";
}
}
class PictureFile extends File{
int durationInMinutes;
public String show(){
return "show picture";
}
}
class VideoFile extends File{
int width, height;
public String show(){
return "show picture";
}
public String open(){
return "open file";
}
public String play(){
return "play file";
}
}
class RegularFile extends File{
}
Wäre nett, wenn mir jemand helfen könnte.
LG und Danke, V.