La sentencia 16 (c =
circulo.eiMayor<ci, c2);) vuelve a utilizar un método llamado elMayor() para comparar dos círculos: ¿Se trata del mismo método de la
sentencia 13. utilizado de otra forma? No. Se trata de 1111 método diferente, aunque tenga el mismo
nombre. A las funciones o métodos que son diferentes porque tienen distinto código, aunque tengan el
mismo nombre, se les llama funciones sobrecargadas (orerloaded). Las funciones sobrecargadas se
diferencian por el numero y tipo de sus argumentos. El método de la sentencia 13 tiene un único
argumento, mientras que el de la sentencia 16 tiene dos (en todos los casos objetos de la clase
Circulo). E11 realidad, el método de la sentencia 16 es un método static (o método de clase), esto es. un
método que no necesita ningún objeto como argumento implícito. Los métodos static suelen ir precedidos por el
nombre de lo clase y el operador punto (Java también permite que vayan precedidos por el nombre
de cualquier objeto, pero es considerada una nomenclatura más confusa.). La sentencia 16 es
absolutamente equivalente a la sentencia 13. pero el método static de la sentencia 16 es más
"simétrico". Las sentencias 17 y 18 no requieren ya comentarios especiales.
Las sentencias 18-31 tienen que ver con la
parte gráfica del ejemplo. En las líneas 18-19 (ventanaCerrable ventana = new VentanaCerrable
("Ventana abierta al mundo...");) Se Cl'ea lilla ventana para dibujar sobre ella. Una ventana
es un objeto de la clase Frame. del package java.awt. La clase VentanaCerrable. explicada en el Apartado 1.3.9 en la página 18. añade
a la clase Frame la capacidad de responder a los eventos que provocan el cieñe de una ventana.
La cadena que se le pasa como argumento es el título que aparecerá en la ventana (ver Figura 1.1).
En la sentencia 20 (vector v = new vector o,-) se crea un objeto de la clase ArrayList (contenida
o definida en el package java.util). La clase ArrayList pemiite almacenar referencias a objetos
de distintas clases. En este caso se utilizará para almacenar referencias a varias figuras
geométricas diferentes.
Las siguientes
sentencias 21-27 crean elementos gráficos y los incluyen en la lista y para ser dibujados más tarde en el objeto de la clase PcmelDibujo. Los objetos de la
clase Circulo creados anteriormente 110 eran objetos aptos para ser dibujados, pues sólo tenían
información del centro y el radio, y 110 del color de línea. Las clases RectanguloGrafico y CirculoGrafico.
definidas en los Apartados 1.3.6 y 1.3.7. derivan respectivamente de las clases Rectángulo
(Apartado 1.3.3) y Circulo (Apartado 1.3.4). heredando de dichas clases sus variables miembro y
métodos, añadiendo la información y los métodos necesarios para poder dibujarlos en la pantalla.
En las sentencias 21- 22 se definen dos objetos de la clase CirculoGrafico. a las coordenadas del
centro y al radio se une el color de la línea. E11 la sentencia 23-24 se define un objeto de la clase
RectanguloGrafico. especificando asimismo un color, además de las coordenadas del vértice superior
izquierdo, y del vértice inferior derecho. E11 las sentencias 25-27 los objetos gráficos creados
se añaden al vector y utilizando el método addElement() de la propia clase Vector.
No hay comentarios:
Publicar un comentario