/**
 * Übungsblatt 2
 * 
 * Aufgabe A.2
 * 
 * Da die Berechnung "on demand" erfolgt, muss die Konsistenz 
 * nicht in jeder einzelnen Setter-Methode wiederhergestellt werden.
 * Auch das ist komfortabel, mehr noch aber steigert das die 
 * Stabilität und Wartbarkeit Ihres Codes. 
 *  
 * @author Markus Iser
 */

public class RoundAndRound2 {
    public static void main(String[] args) {
        // Three circles ...
        Circle2 circle1 = new Circle2(5.1);
        Circle2 circle2 = new Circle2(17.5);
        Circle2 circle3 = new Circle2(42.0);
        // ... and two cones ...
        Cone2 cone1 = new Cone2(circle1, 10.3);
        Cone2 cone2 = new Cone2(17.5, 10.3);        
        
        // ... are printed on console
        circle1.print();
        circle2.print();
        circle3.print();        
        cone1.print();
        cone2.print();
        
        // manipulation tests
        circle1.setRadius(10.3);
        circle1.print();
        circle2.setDiameter(30);
        circle2.print();
        
        cone1.setRadius(10.3);
        cone1.print();
        cone2.setHeight(120);
        cone2.print();
    }
}
