E11 este ejemplo sólo se van a dibujar rectángulos y círculos. De la clase Geometría van a
derivar las clases Rectángulo y Circulo. Estas clases tienen en común que son "geometrías", y
como tales tendrán ciertas características comunes como un perímetro y un área. Un aspecto
importante a considerar es que no va a haber nunca objetos de la clase Geometría, es decir
"geometrías a secas". Una clase de la que 110 va a haber objetos es una clase abstracta, y como tal
puede ser declarada. A continuación se muestra el fichero Geometria.jara en el que se define dicha
clase:
1. // fichero Geometría.java
2. public abstract cíass Geometría {
3. // clase abstracta que no puede tener
objetos
4. public abstract double
perímetro();
5. public abstract double
area();
6. }
La clase Geometría se declara como public para permitir que sea utilizada por cualquier otra clase, y como abstract para indicar que 110 se permite crear objetos de esta clase. Es característico de las clases tener variables y funciones miembro. La clase Geometría 110 define ninguna variable miembro, pero sí declara dos métodos: perímetroQ y areaQ. Ambos métodos se declaran como public para que puedan ser llamados por otras clases y como abstract para indicar que 110 se da ninguna definición -es decir ningún código- para ellos. Interesa entender la diferencia entre declaración (la primera línea o header del método) y definición (todo el código del método, incluyendo la primera línea). Se indica también que su valor de retorno -el resultado- va a ser un double y que 110 tienen argumentos (obtendrán sus datos a partir del objeto que se les pase como argumento implícito). Es completamente lógico que 110 se definan en esta clase los métodos perimetro() y areaQ: la forma de calcular un perímetro o un área es completamente distinta en un rectángulo y en un círculo, y por tanto estos métodos habrá que definirlos en las clases Rectángulo y Circulo. E11 la clase Geometría lo único que se puede decir es cómo serán dichos métodos, es decir su nombre, el número y tipo de sus argumentos y el tipo de su valor de retomo.