View
10.443
Download
2
Category
Preview:
DESCRIPTION
11_ Métodos constructores y método toString()
Citation preview
Métodos constructoresMétodo toString
Clara Patricia Avella Ibáñez
Tunja – Boyacá – ColombiaDocente universitariacpavella@gmail.com
Métodos constructores
ConstructoresSe utilizan para instanciar las clases (Para crear objetos de una
clase)Llevan el mismo nombre de la claseTienen accesibilidad publicNo tienen tipo de dato de retorno (no retornan un valor)Si no tiene parámetros crea el objeto con los valores de los
atributos por default.Puede haber más de un método constructor pero los
parámetros no pueden tener los mismos tipos de datos en elmismo orden.
Los constructores pueden ser:
Por default (no tiene parámetros)
Por parámetros (asigna los valores de los parámetros a losatributos del objeto que está siendo creado).
Sobrecarga de métodos
Métodos constructores
Constructores
public class ClaseEjemplo{private int atributo;
public ClaseEjemplo(){}
public ClaseEjemplo(int valorAsignar){atributo = valorAsignar;
}}
Constructor por
default
Constructor por
parámetros
FechaEmpleado
- cedula: String- nombre: String- apellido: String- genero: char- salario: double
Fecha de nacimiento 1- dia: int- mes: int- anio: int
métodosmétodos
Fecha de ingreso 1
public class Empleado{private String cedula;private String nombre;private String apellido;private char genero;private double salario;private Fecha fechaNac;private Fecha fechaIng;
}
public class Fecha{private int dia;private int mes;private int anio;
}
Los siguientes ejercicios se trabajarán con este ejemplo
cedula = 0nombre = nullapellido = nullgenero = ‘ ’salario = 0.0fechaNac = nullfechaIng = null
public Empleado(){}
En la clase Empleado
En la clase Principal – método main()
public static void main(String args[]){Empleado e = new Empleado();
}
Objeto e de la clase EmpleadoCreado con el método constructor por default
Cuando se invoca el método
constructor, se ejecuta este
código
El objeto se inicializa con los valores por default, es decir:
• Los atributos de tipo numérico con 0• Los atributos de tipo char con caracter vacío ‘ ‘
• Los atributos de tipo clase con null• Los atributos de tipo String se crean con null
porque String es una clase en Java (no es un tipo primitivo de dato).
Constructor por default
dia: 0mes: 0anio: 0
public Fecha(){}
En la clase Fecha
En la clase Principal – método main()
public static void main(String args[]){Fecha f1 = new Fecha();Fecha f2 = new Fecha();
}
En este ejemplo se crean dos objetos de la clase Fecha: f1 y f2, ambos con los valores por default,
es decir: 0
Constructor por default
f1
dia: 0mes: 0anio: 0
f2
Constructores por parámetros
public Fecha (int dia, int mes, int anio) {this.dia = dia;this.mes = mes;this.anio = anio;
}
En la clase Fecha
En la clase Principal – método main()
public static void main(String args[]){Fecha f1 = new Fecha(12,10,1980);Fecha f2 = new Fecha(2,5,2013);
}
dia: 12mes: 10anio: 1980En este ejemplo se crean dos objetos de la clase
Fecha: f1 y f2, ambos con los valores enviados como parámetros
f1
f2
dia: 2mes: 5anio: 2013
Los valores se asignan a los
parámetros en el orden en que son
invocados
cedula = 123nombre = “Sonia”apellido = “Torres”genero = ‘ f’salario = 2000000.0fechaNac =fechaIng =
Constructores por parámetrospublic Empleado(String cedula, String nombre, String apellido, char genero,
double salario, Fecha fechaNac, Fecha fechaIng) {this.cedula = cedula;this.nombre = nombre;this.apellido = apellido;this.genero = genero;this.salario = salario;this.fechaNac = fechaNac;this.fechaIng = fechaIng;
}
En la clase Empleado
En la clase Principal – método main()
public static void main(String args[]){Fecha f1 = new Fecha(12,10,1980);Fecha f2 = new Fecha(2,5,2013); Empleado emp = new Empleado(123,”Sonia”,”Torres”, ‘f’, 2000000.0,f1,f2);
}
Se crea el objeto emp con los valores que se envían como parámetros desde el main()
Observe que como atributos de fechaNac (fecha nacimiento) y fechaIng (fecha de ingreso a la empresa) se le asignan los objetos de la clase
Fecha : f1 y f2
dia: 12mes: 10anio: 1980
f1
f2
dia: 2mes: 5anio: 2013
emp
Constructores por parámetros
public Empleado(String cedula, String nombre, String apellido, char genero, double salario, Fecha fechaNac, Fecha fechaIng) {
this.cedula = cedula;this.nombre = nombre;this.apellido = apellido;this.genero = genero;this.salario = salario;this.fechaNac = fechaNac;this.fechaIng = fechaIng;
}
En la clase Empleado
Otra forma de elaborar los constructores por parámetros es invocando los métodos
modificadores (set).Miremos cada instrucción del constructor y
veamos que es la misma de los modificadores:
this.atributo = valor a asignar al atributo;
public Empleado(String cedula, String nombre, String apellido, char genero, double salario, Fecha fechaNac, Fecha fechaIng) {
setCedula(cedula);setNombre(nombre);setApellido(apellido);setGenero(genero);setSalario(salario);setFechaNac(fechaNac);setFechaIng(fechaIng);
}
public void setCedula(int cedula){this.cedula=cedula);
}
Constructores por parámetros
public Empleado(String cedula, String nombre, String apellido, char genero, double salario, Fecha fechaNac, Fecha fechaIng) {
this.cedula = cedula;this.nombre = nombre;this.apellido = apellido;this.genero = genero;this.salario = salario;this.fechaNac = fechaNac;this.fechaIng = fechaIng;
}
public Empleado(String cedula, String nombre, String apellido, char genero {
this.cedula = cedula;this.nombre = nombre;this.apellido = apellido;this.genero = genero;
}
En la clase EmpleadoTambién se puede tener más de un constructor por
parámetros
cedula = 456nombre = “Juan”apellido = “Díaz”genero = ‘ m’salario = 0fechaNac = nullfechaIng = null
public static void main(String args[]){Empleado x = new Empleado(456,”Juan”,”Díaz”, ‘m’);
}
En la clase Principal – método main()
Se crea el objeto x con los valores enviados como parámetros, los atributos que no envían como parámetros se inicializan con el valor por default.
x
Se ejecuta este constructor
Método toStringTodos los objetos que creamos en Java por default (omisión) heredan de la Clase Object y en esa clase está el método toString cuyo propósito es convertir algo en String.
public String toString( ){
return “atributo1 “ + atributo1;}
}
Sobre-escritura de métodos
Implementar el código de algunos métodos
que sólo están declarados, ya sea en el
API de Java o en las clases que se crean por parte del programador
En este caso el método toString() viene declarado en la clase Stringque está en el API Java y todos las clases pueden sobreescribir estemétodo.Se sobreescribe el método toString() para poder imprimir los valores delos atributos de un objeto cuando se imprime la referencia del objeto.
Podemos re-escribir (sobre-escribir) este método para adaptarlo a nuestras necesidades. En este caso lo utilizaremos para cuando queramos imprimir un objeto de una clase, nos imprima lo que está en el método toString de la clase a la cual pertenece.
Método toString
Al realizar este código en la clase Principal -método main()
public class Fecha{private int dia;private int mes;private int anio;
// acá van los métodos constructores, modificadores, analizadores y propios de clase
public String toString(){return “dia:”+ dia + “ mes:” + mes + “ año:” + anio;
}
Ejemplo clase Fecha
public static void main(String args[]){Fecha f = new Fecha(12,10,1980);System.out.println (f);
}
dia:12 mes:10 año:1980Muestra por consola
Método toString
Al realizar este código en la clase Principal -método main()
public class Fecha{private int dia;private int mes;private int anio;
// acá van los métodos constructores, modificadores, analizadores y propios de clase
public String toString(){return dia + “/” + mes + “/” + anio;
}
Otra forma de sobre-escribir toString para la clase Fecha
public static void main(String args[]){Fecha f = new Fecha(12,10,1980);System.out.println (f);
}
12/10/1980Muestra por consola
Recommended