2017-09-08 26 views
0
setPriority(priority: int): ToDoItem 

setWhat zurückkehren (was: String): Bearbeiten-ElementSetter muss das Objekt aktualisieren und etwas JAVA

setWhen (wenn: String): Bearbeiten-Element

Jede der drei Setter gibt das aktualisierte Objekt. Dies ist ein bisschen anders als die normalen leeren Versionen der Vergangenheit.

dies ist ein Array List

das ist, was meine UML sagt.

Ich bin völlig verloren, ich bin mir nicht sicher, wie man überhaupt beginnt, einen Setter eine aktualisierte Version von etwas zurückzugeben, ich habe eine Idee, es ist eine for-Schleife, aber ich bin so verloren seine unwirkliche, jede Hilfe, um mich in die richtige Richtung geschätzt

Antwort

1

Ihre UML auf einem fluent interface zu beruhen scheint, würden Sie in der Regel return this; wie

public ToDoItem setPriority(int priority) { 
    this.priority = priority; 
    return this; 
} 

Die Idee kann dann Kette Aufrufen von Prozeduren, die ein Anrufer zu sein.

ToDoItem a = new ToDoItem().setPriority(10).setWhat("what").setWhen("right now"); 
+0

Es gibt drei Klassen. Eine Hauptfunktion, WeeklyToDoList und ToDoList. Die ToDoList-Klasse ist eine Basisklasse mit 2 Konstruktoren und den Setter- und Getterfunktionen, aber mein Professor gibt an, dass die Setter eine aktualisierte Version des Objekts zurückgeben sollen. Könnte ich mein Objekt aktualisieren und die neue Version zurückgeben? – MLeuck3

+0

Das ist genau das, was es tut. Die erste Codezeile aktualisiert das Objekt und die zweite Zeile gibt das Objekt ("this") mit den durchgeführten Aktualisierungen zurück. – FredK

+0

@ MLeuck3 Es gibt keine "neue Version", die Instanz ändert sich nicht - aber ja, der Wert wird aktualisiert und die gleiche Instanz, die diesen Wert enthält, wird zurückgegeben. Deshalb gibt ein Setter (oder * mutator *) normalerweise nichts zurück (er erstellt nichts). –

0

Wenn ich Sie recht verstehe, sprechen Sie fließend api:

class ToDoItem{ 
    private int priority; 
    private String what; 
    private String when; 

    public ToDoItem setPriority(int priority) { 
     this.priority = priority; 
     return this; 
    } 

    public ToDoItem setWhen(String when) { 
     this.when = when; 
     return this; 
    } 
    public ToDoItem setWhat(String what) { 
     this.what = what; 
     return this; 
    } 
} 
Verwandte Themen