sábado, 28 de septiembre de 2013

UN EJEMPLO COMPLETO COMENTADO - V

La sentencia 14 imprime el resultado de la comparación anterior y la sentencia 15 crea un nuevo objeto de la clase Circulo guardándolo en la referencia c. En este caso 110 se pasan argumentos al constructor de la clase. Eso quiere decir que deberá utilizar algunos valores "por defecto" para el centro y el radio. Esta sentencia anula o boira el resultado de la primera comparación de radios, de modo que se pueda comprobar el resultado de la segunda comparación.
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