SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Métodos constructores
Método toString
Clara Patricia Avella Ibáñez
Tunja – Boyacá – Colombia
Docente universitaria
cpavella@gmail.com
Métodos constructores
Constructores
Se utilizan para instanciar las clases (Para crear objetos de una
clase)
Llevan el mismo nombre de la clase
Tienen accesibilidad public
No 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 el
mismo orden.
Los constructores pueden ser:
Por default (no tiene parámetros)
Por parámetros (asigna los valores de los parámetros a los
atributos 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étodos
mé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 = 0
nombre = null
apellido = null
genero = ‘ ’
salario = 0.0
fechaNac = null
fechaIng = 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 Empleado
Creado 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: 0
mes: 0
anio: 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: 0
mes: 0
anio: 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: 12
mes: 10
anio: 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: 2
mes: 5
anio: 2013
Los valores se
asignan a los
parámetros en el
orden en que son
invocados
cedula = 123
nombre = “Sonia”
apellido = “Torres”
genero = ‘ f’
salario = 2000000.0
fechaNac =
fechaIng =
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
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: 12
mes: 10
anio: 1980
f1
f2
dia: 2
mes: 5
anio: 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 Empleado
También se puede
tener más de un
constructor por
parámetros
cedula = 456
nombre = “Juan”
apellido = “Díaz”
genero = ‘ m’
salario = 0
fechaNac = null
fechaIng = 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 toString
Todos 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 String
que está en el API Java y todos las clases pueden sobreescribir este
método.
Se sobreescribe el método toString() para poder imprimir los valores de
los 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

Mais conteúdo relacionado

Mais procurados

Metodos en java
Metodos en javaMetodos en java
Metodos en java
aleja0940
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
Mario Villaseñor
 

Mais procurados (20)

Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Colas
ColasColas
Colas
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Herencia y Polimorfismo en Java
Herencia y Polimorfismo en JavaHerencia y Polimorfismo en Java
Herencia y Polimorfismo en Java
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en JavaProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java
 
Librerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación CLibrerias Básicas y sus Funciones Lenguaje de Programación C
Librerias Básicas y sus Funciones Lenguaje de Programación C
 
Java colecciones
Java coleccionesJava colecciones
Java colecciones
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 

Semelhante a 11 Curso de POO en java - métodos constructores y toString()

JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
FamiliaAyluardo
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
ecodereck
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
Kai Exo
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
Robert Wolf
 

Semelhante a 11 Curso de POO en java - métodos constructores y toString() (20)

Métodos constructores, método toString()
Métodos constructores, método toString()Métodos constructores, método toString()
Métodos constructores, método toString()
 
MéTodos En Java
MéTodos En JavaMéTodos En Java
MéTodos En Java
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5
 
Guia poo
Guia pooGuia poo
Guia poo
 
Presentacion5
Presentacion5Presentacion5
Presentacion5
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
La palabra reservada this y los métodos "getters" y "setters"
La palabra reservada this y los métodos "getters" y "setters"La palabra reservada this y los métodos "getters" y "setters"
La palabra reservada this y los métodos "getters" y "setters"
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Lp2docclases
Lp2docclasesLp2docclases
Lp2docclases
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
Poo
PooPoo
Poo
 
Programacion
ProgramacionProgramacion
Programacion
 
La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6La programación orientada a objetos con JavaScript ES6
La programación orientada a objetos con JavaScript ES6
 

Mais de Clara Patricia Avella Ibañez

Mais de Clara Patricia Avella Ibañez (13)

17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse
 
4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse
 
2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso
 
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
 
Prestentacion parapentismoextremo
Prestentacion parapentismoextremoPrestentacion parapentismoextremo
Prestentacion parapentismoextremo
 
Netiqueta
NetiquetaNetiqueta
Netiqueta
 
Modelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de BoyacáModelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de Boyacá
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de Boyacá
 

Último

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Último (20)

FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 

11 Curso de POO en java - métodos constructores y toString()

  • 1. Métodos constructores Método toString Clara Patricia Avella Ibáñez Tunja – Boyacá – Colombia Docente universitaria cpavella@gmail.com
  • 2. Métodos constructores Constructores Se utilizan para instanciar las clases (Para crear objetos de una clase) Llevan el mismo nombre de la clase Tienen accesibilidad public No 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 el mismo orden. Los constructores pueden ser: Por default (no tiene parámetros) Por parámetros (asigna los valores de los parámetros a los atributos del objeto que está siendo creado). Sobrecarga de métodos
  • 3. 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
  • 4. FechaEmpleado - cedula: String - nombre: String - apellido: String - genero: char - salario: double Fecha de nacimiento 1 - dia: int - mes: int - anio: int métodos mé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
  • 5. cedula = 0 nombre = null apellido = null genero = ‘ ’ salario = 0.0 fechaNac = null fechaIng = 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 Empleado Creado 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
  • 6. dia: 0 mes: 0 anio: 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: 0 mes: 0 anio: 0 f2
  • 7. 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: 12 mes: 10 anio: 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: 2 mes: 5 anio: 2013 Los valores se asignan a los parámetros en el orden en que son invocados
  • 8. cedula = 123 nombre = “Sonia” apellido = “Torres” genero = ‘ f’ salario = 2000000.0 fechaNac = fechaIng = 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 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: 12 mes: 10 anio: 1980 f1 f2 dia: 2 mes: 5 anio: 2013 emp
  • 9. 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); }
  • 10. 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 Empleado También se puede tener más de un constructor por parámetros cedula = 456 nombre = “Juan” apellido = “Díaz” genero = ‘ m’ salario = 0 fechaNac = null fechaIng = 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
  • 11. Método toString Todos 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 String que está en el API Java y todos las clases pueden sobreescribir este método. Se sobreescribe el método toString() para poder imprimir los valores de los 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.
  • 12. 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
  • 13. 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