UML-Diagramm in Java-code

Ich bin neu in Java und versuche zu arbeiten, durch einige Fragen, wo ich konvertieren Sie ein UML-Diagramm der Java code: ich habe ein Bild von der uml-Dokument-

http://s1079.photobucket.com/albums/w513/user20121/?action=view&current=uml.jpg

Werde ich Ihnen zeigen, was ich habe, so weit:

Q1: Schreiben Sie eine Java-version der class-Eintrag vorausgesetzt, es hat diesen Konstruktor: public Eintrag(String name), und dass die Methode getSize ist Abstrakt.
A:

public abstract class Entry {
    private String name;

    public Entry(String name){
        this.name =  name;
    }
    public String getName()
    {
        return name;
    }
    abstract long getSize();
}

Q2: Schreiben Sie eine Java-version der class-Datei, vorausgesetzt, es hat diesen Konstruktor:
public Datei(String name, long size)
A:

public class File extends Entry {
    private long size;

    public File(String name, long size){
        super(name);
        this.size = size;
    }

    public long getSize(){
        return size;
    }
}

Q3: Ein Verzeichnis enthält eine Sammlung von Dateien und Verzeichnissen. Schreiben Sie eine Java-version der Klasse Directory-vorausgesetzt, es hat diesen Konstruktor:
public Directory(String name) und die Methode getSize gibt die Gesamtgröße aller Dateien in dem Verzeichnis und allen seinen
sub-directories (in diesem Modell von der Größe eines Verzeichnis selbst wird ignoriert).

A: Dies ist, wo ich stecken, ich weiß nicht, was zu tun ist über die getSize-Methode. Kann mir jemand sagen, ob das, was ich bisher getan haben ist die richtige? Und auch zeigen Sie mich in die richtige Richtung für Q3?

Edit: okay, habe ich versucht, eine Antwort, aber ich wirklich, ich weiß nicht, was ich mache..

import java.util.ArrayList;

public class Directory extends Entry {

    ArrayList <Entry> entries = new ArrayList<Entry>();

    public Directory(String name)
    {
        super(name);
    }

    public long getSize(){
        long size;
        for(int i=0;i<entries.size();i++)
        {
        size +=  //don't know what to put here?
        }
        return size;
    }
}
  • Du bist auf dem richtigen Weg. Für Q3, müssen Sie etwas zu assoziieren ein Verzeichnis mit 0 oder mehr Eintrag-Art-Objekte. In Java sind diese Verbände realisiert mit Collections wie ArrayList, in denen die zugehörigen Objekte gespeichert sind.
  • Nun, ich würde vermuten, dass dein Directory-Klasse enthält eine Sammlung (Evtl. eine ArrayList) der Eintrag Art-Objekte. Die getSize-Methode in einer Schleife durch diesen Eintrag (Verzeichnis und Datei) Objekte und insgesamt die Größen (mit der Datei getSize Methoden) und gibt die Summe.Sollten Sie vielleicht haben Sie eine Methode zum hinzufügen von Dateien und Verzeichnissen, um die Sammlung von Dateien in der directory-Klasse.
  • Sie hat es fast. Wenn Sie mithilfe von Sammlungen können Sie mit dem foreach-notation von Java: for(Entry entry: entries) { ... } Innerhalb der eckigen Klammern 'Eintrag' ist der Eintrag Objekt der aktuellen iteration, deren Methoden, die Sie aufrufen können, in der Regel: String name = entry.getName();
InformationsquelleAutor user1354270 | 2012-04-24
Schreibe einen Kommentar