Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
public static MyClass clone( MyClass source ) throws CloneNotSupportedException
{
MyClass clone = ( MyClass ) source.clone();
return clone;
}
Wozu sollte das gut sein? Um dannHallo,
ich würde statt dem Konstruktor eine statische Factory-Methode verwenden:
Java:public static MyClass clone( MyClass source ) throws CloneNotSupportedException { MyClass clone = ( MyClass ) source.clone(); return clone; }
MyClass b = MyClass.clone(b);
MyClass b = a.clone();
Du hast recht. Siehe z.B. http://www.javapractices.com/topic/TopicAction.do?Id=12Es gibt ja schon einige vorgefertigte Klassen mit Copykonstructoren. (Denke ich, habe ich noch nie verwendet.)
z. B. Font, also unüblich ist es wohl eher nicht.
Das könnte schon sinnvoll sein, um dort z.B. das Exception-Handling einzubauen, die source-Instanz auf null zu prüfen, eventuell um bestimmte Felder der source-Instanz ebenfalls durch eine clone() Methode zu kopieren. Man kann sich auch vorstellen, einige Felder wieder auf default-Wert zu setzen. Das kommt immer auf die konkrete Implementierung an. Mit einer Factory-Metzode vermeidet man redundanten Code.Hi.
Wozu sollte das gut sein?
Wenn ich mich recht erinnere hat der Prof in der Vorlesung gesagt, man sollte möglichst immer einen Kopierkonstruktor schreiben. Wenn man dann noch eine clone() Methode will, besteht der Rumpf der Methode nur aus "return new MyClass(original);"