private static void checkContract(final BaseCloneable original, final BaseCloneable clone) { System.out.println("Original: " + original); System.out.println("Kopie: " + clone); // Kontraktprüfung System.out.println("\nKontraktprüfung:"); System.out.println("Objekterzeugung? " + (clone != original)); System.out.println("Typgleichheit? " + clone.getClass().equals(original.getClass())); System.out.println("Wertgleichheit? " + clone.equals(original)); }
public static void main(String[] args) { // Kopieren durch Klonen final BaseCloneable original = new BaseCloneable(47, 11); final BaseCloneable clone = original.clone(); System.out.println("Original: " + original); System.out.println("Kopie: " + clone); // Verschiedene Prüfungen durchführen checkContract(original, clone); modify(original, clone); }
private static void modify(final BaseCloneable original, final BaseCloneable clone) { // Ąnderung in der Kopie System.out.println("\nĄnderung:"); clone.value = 13; System.out.println("Original: " + original); System.out.println("Kopie: " + clone); }