/media/sda-magnetic/david/Dokumente-15/fernuni-hagen/cs-i-ii/old-cs-2-03/java-new/java-2020-11-08/Geometrieobjektverwaltung.java


public class Geometrieobjektverwaltung {

    static abstract class Geometrieobjekt {
        void druckeEigenschaften() {
            System.out.println ("Ein Geometrieobjekt hat Kanten und Ecken, ist punktsymmetrisch oder nicht und ist achsensymmetrisch oder nicht");
        }
    }
    
    static class Kreis extends Geometrieobjekt {
        void druckeEigenschaften() {
            System.out.println ("Ein Kreis hat keine Kanten oder Ecken, oder unendlich viele, was dasselbe ist, und ist achsensymetrisch und punktsymmetrisch");
        }    
    }

    static class Bogenstueck extends Geometrieobjekt {
        void druckeEigenschaften() {
            System.out.println ("Ein Bogenstueck hat keine Kante, dafuer zwei Ecken, ist vielleicht achsensymmetrisch und vielleicht punktsymmetrisch");
        }    
    }

    static class Rechteck extends Geometrieobjekt {
        void druckeEigenschaften() {
            System.out.println ("Ein Rechteck hat vier Kanten und vier Ecken, ist ausserdem achsensymmetrisch und als Quadrat, eine spezielle Form, Punktsymmetrisch");
        }     
    }

    
    public static void main(String[] args) {
        Geometrieobjekt geometrieobjekt = null;

        if (args[0].equals("Kreis"))
            geometrieobjekt = new Kreis();
        if (args[0].equals("Bogenstueck"))
            geometrieobjekt = new Bogenstueck();
        if (args[0].equals("Rechteck"))
            geometrieobjekt = new Rechteck();
        /* ... */
        if (geometrieobjekt == null) {
            System.out.println("Ein " + args[0]
                    + " ist bisher nicht implementiert");
        } else {
            geometrieobjekt.druckeEigenschaften();
        }
    }
}