Interesa ahora insistir un poco mas en la diferencia entre clase y objeto. La clase Círculo es lo
genérico: es el patrón o modelo para crear círculos concretos. El objeto c es un círculo concreto, con
su centro y su radio. De la clase Circulo se pueden crear tantos objetos como se desee: la clase dice
que cada objeto necesita tres datos (las dos coordenadas del centro y el radio) que son las variables
miembro de la clase. Cada objeto tiene sus propias copias de las variables miembro, con sus propios
valores, distintos de los demás objetos de la clase.
La sentencia 9 (system.out.printin("Radio = " + c.r + " unidades.");) imprime por la
salida estándar una cadena de texto que contiene el valor del radio. Esta cadena de texto se compone
de tres sub-cadenas, unidas mediante el operador de concatenación (+). Obsérvese cómo se accede
al radio del objeto c: el nombre del objeto seguido del nombre de la variable miembro r. unidos por
el operador punto (c.r). El valor numérico del radio se convierte automáticamente en cadena de
caracteres. La sentencia 10 es similar a la 9. imprimiendo las coordenadas del centro del círculo.
Las sentencias 11 y 12 crean dos nuevos objetos de la clase Circulo, llamados el y c2.
La sentencia 13 (c = ci.eiMayor (c2);) utiliza el método elMayorQ de la clase Circulo. Este
método compara los radios de dos círculos y devuelve como valor de retorno una referencia al
círculo que tenga mayor radio. Esa referencia se almacena en la referencia previamente creada c. Un
punto importante es que todos los métodos de Java (excepto los métodos de clase o s ta tic) se
aplican a un objeto de la clase por medio del operador punto (por ejemplo, ci.eiMayor o). El otro
objeto (c2) se pasa como argumento entre paréntesis. Obsérvese la forma "asimétrica" en la que se
pasan los dos argumentos al método elMayorQ. De ordinario se llama argumento implícito a el.
mientras que c2 sería el argumento explícito del método.
No hay comentarios:
Publicar un comentario