Conviértete en un emprendedor,profesional del conocimiento en la programación

martes, 3 de enero de 2012

CONSTRUCTORES

Compartir con:


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