La sentencia 5 (protected double xi, yi, x2, y2;) define cuatro nuevas variables miembro,
que representan las coordenadas de dos vértices opuestos del rectángulo. Las cuatro son de tipo
clouble. El declararlas como protected indica que sólo esta clase, las clases que deriven de ella y las
clases del propio package tienen permiso para utilizarlas.
Las sentencias 7-14 definen los constructores de la clase. Los constructores son unos métodos
0 funciones miembro muy importantes. Como se puede ver. no tienen valor de retorno (ni siquiera
1 vid) y su nombre coincide con el de la dase. Los constructores son un ejemplo típico de métodos
sobrecargados (overloaded): en este caso hay dos constructores, el segundo de los cuales 110 tiene
ningún argumento, por lo que se llama constructor por defecto. Las sentencias 7-13 definen el
constructor general. Este constructor recibe cuatro argumentos con cuatro valores que asigna a las
cuatro variables miembro. La sentencia 12 incrementa en una unidad (esto es lo que hace el
operador ++, típico de C y C++. de los que Java lo ha heredado) el número de rectángulos creados
hasta el momento.
La sentencia 14
(public Rectángulo o { this < o, o, í.o, í.o); }) define un segundo constructor, que por 110 necesitar argumentos es 1111 constructor por defecto.
¿Qué se puede hacer cuando hay que crear un rectángulo sin ningún dato? Pues algo realmente
sencillo: en este caso se ha optado por crear un rectángulo de lado unidad cuyo primer vértice coincide
con el origen de coordenadas. Obsérvese que este constructor en realidad no tiene código para
inicializar las variables miembro, limitándose a llamar al constructor general previamente
creado, utilizando para ello la palabra this seguida del valor por defecto de los argumentos. Ya se
verá que la palabra this tiene otro uso aún más importante en Java.
Las sentencias 16
(public double perimetroO { return 2.0 * ((xl-x2) + (yl-y2)) ; }) y 17 (public double area <) { return (xl-x2) * (yl-y2); }) COlltieiieil la
definición de los métodos miembro perimetrof) y area(). La declaración coincide con la de la clase
Geometría, pero aquí va seguida del cuerpo del método entre llaves {...}. Las fórmulas utilizadas son
las propias de un rectángulo.
No hay comentarios:
Publicar un comentario