CONSTRUCTORES
En java, los tipos
de objeto son muy diferentes a los tipos primitivos. La simple declaración de
una variable, cuyo tipo se define como clase, no crea automáticamente un objeto
de esa clase. Los objetos se deben construir de forma explícita. El proceso de
construir un objeto representa: primero, encontrar memoria disponible en el
área heap que pueda emplearse para guardar el objeto y, segundo, rellenar el objeto
con los datos correspondientes. Como programador, normalmente querrá ejercer
algún control sobre valor inicial que se almacenara en los datos de este
objeto.
Hay dos maneras de
hacerlo. La primera es proporcionar el valor inicial en la definición de la
clase al momento de declarar los datos.
Ejemplo:
public class Estudiante {
// datos privados:
private String nombre =
“Angel”;
private int código = 1111;
private double nota1= 0 ; nota2=
0; nota3= 0;
// métodos públicos
…….
} // Fin de la clase
La segunda manera de llenar con valores iniciales
los datos de una clase es facilitando uno o más constructores por clase. De
hecho, los constructores pueden hacer más cosas que inicializar los valores de
los datos de la clase para un objeto en particular.
El constructor de una clase se define como un
componente con el mismo nombre de la clase y que no devuelve valor alguno. Un
constructor puede tener parámetros. En una clase puede haber varios
constructores, creados con diferentes parámetros. Un constructor no puede ser
declarado como static; pero, por otra parte, no es realmente un método que
pueda ser llamado en cualquier momento. La única forma con la que se puede
llamar a un constructor es con el operador new, así:
new
llamada-constructor
Cuando el ordenador evalúa esta expresión, crea un nuevo objeto, ejecuta
el constructor y devuelve una referencia al nuevo objeto.
Como ejemplo, vamos a reescribir la clase Estudiante incluyendo un
constructor y dos métodos get:
public class Estudiante {
// datos privado
private String nombre; // nombre
del estudiante
private int código; //
identificador del estudiante
private double nota1, nota2, nota3;
// nota de tres exámenes
// constructor
public
Estudiante(String nombre, int código){
this.nombre= nombre;
this.codigo = código;
nota1= 0; nota2= 0;
nota3 =0;
}
// métodos públicos
public void setNombre(String nombre) {
this.nombre= nombre; }
public void setCodigo(int codigo) {
this.codigo= codigo; }
public void setNotas(double nota1, double nota2, double nota3)
{ this.nota1= nota1; this nota2=
nota2; this.nota3= nota3; }
public String getNombre()
{
return nombre; }
public int getCodigo()
{
return codigo; }
public double obtienePromedio(){
return(nota1 + nota2 + nota3)/3; }
} // Fin de la clase



0 comentarios:
Publicar un comentario