Cristian Felipe Patiño Cáceres
Stiven Trujillo
Perfecto!, esto es lo que quería saber!
Vanesa Percy
Gracias por la explicación, vino como anillo al dedo.
¿Qué es y cómo sobrescribir un método toString en programación orientada a objetos?
Dentro del mundo de la programación orientada a objetos, tener un conocimiento profundo sobre cómo trabajar con métodos es fundamental. Uno de los métodos más utilizados es el toString, que permite a las clases personalizar cómo se deben mostrar sus objetos cuando se convierten a cadenas de texto. Este artículo profundizará en cómo sobrescribir este método para aprovechar todo su potencial.
¿Cómo se implementa el método toString?
Para comenzar a sobrescribir toString, es clave entender que este método proviene de la clase Object. Entonces, cualquier clase que crees tendrá acceso a toString, y puedes redefinirlo para que devuelva la información que desees.
@Override public String toString() { return "Descripción personalizada aquí"; }
Este fragmento de código muestra cómo puedes empezar a personalizar el método para tu clase específica.
¿Cómo sobrescribir toString en clases anidadas?
Sobrescribir métodos se torna aún más interesante cuando se trabaja con clases anidadas. Por ejemplo, si en tu aplicación tienes una clase Doctor que contiene una clase anidada llamada Appointment, puedes definir toString para ambas:
Appointment, definimos toString para listar las fechas de disponibilidad.Doctor, podemos reutilizar la información de toString de la clase padre (superclase) y añadir más detalles específicos sobre el doctor, como su especialidad.class Doctor { // Otros métodos y atributos... @Override public String toString() { // Llama al método toString de la superclase y agrega más datos return super.toString() + "\nEspecialidad: " + especialidad; } class Appointment { @Override public String toString() { return "Fechas disponibles: \n" + listarFechasDisponibles(); } } }
¿Qué es el polimorfismo y cómo está relacionado con toString?
El concepto de polimorfismo es central en la programación orientada a objetos, permitiendo a los métodos realizar diferentes acciones según el contexto. Sobrescribir toString es un excelente ejemplo de polimorfismo. Al cambiar el comportamiento predefinido del método para dar una salida diferente o más completa, muestras cómo el polimorfismo permite darle múltiples formas a un solo método, contestando a la noción de "muchas formas" que el nombre sugiere.
¿Por qué es importante sobrescribir el método toString?
Sobrescribir toString ofrece varios beneficios prácticos:
Así, dominar el uso de toString, junto con otros aspectos de la programación orientada a objetos, te permitirá desarrollar soluciones más eficientes y fáciles de mantener.
Por último, recuerda siempre implementar estos conceptos con la intención de mejorar la claridad y funcionalidad de tu código. Tu habilidad para personalizar métodos como toString reflejará tu comprensión profunda de la estructura y flexibilidad de la programación orientada a objetos. ¡Sigue practicando para perfeccionar estas técnicas esenciales!
Cristian Felipe Patiño Cáceres
Stiven Trujillo
Perfecto!, esto es lo que quería saber!
Vanesa Percy
Gracias por la explicación, vino como anillo al dedo.
John Garcia
me llama la atención que no hay muchos comentarios en estos capitulos. estoy a 3 dias de que se termine mi suscripción anual y este es uno de los cursos ques eleccion para terminar y he visto muy pocos comentarios en el hilo.
Me gustaron muchos todos tus otros cursos Anahí (y)
jorge espinoza
creo que el curso es relativamente nuevo si vista el curso basico de java te puedes dar cuenta por las versiones que instala
Usuario anónimo
User¡Son de los mejores cursos que tiene Platzi!
Josué David López Coello
He llegado hasta acá y el curso me ha parecido buenisimo, he aprendido mas que en 3 meses de clases en mi universidad, la única recomendación para los maestros sería explicar estos conceptos con programas individuales y no estar borrando código de otras clases anteriores ya que se pierde ese conocimiento.
DANILO RAMIREZ
Concuerdo con tu aporte! El borrar hace que se pierdan apuntes y comentarios sobre lo que se hizo en el pasado
Jeremy Bourdier
Estoy de acuerdo
Leonardo Flores
Cada vez es más complicado y confuso jaja
Sergio Armando Medina Chaparro
Después de practicar 3 meses con estos temas...lo entenderás mejor. Por eso piden personas con experiencia o que hayan hecho proyectos propios :)
Nestor Ruben Rodriguez Caro
si, hay que tener paciencia haha
Sebastian Ruiz Garcia
El avaiableAppointment.toString traerá el ArrayList (colección) con la estructura del método toString que se encuentra en la clase estática anidada(la clase AvaiableAppointment).
Silvana Rolón
Adrian Dalí
despues de todo POO no es tan complicado pero si implica practicar
Wilson Alfonso Diaz Capador
no dejaste nada en la descripcion
Nicolas Pinzon Aparicio
Polimorfismo explicado con minecraft
Luis Miguel Rodríguez
Que detallazaoooooooooo <3
Jacobo Cosme
ya no esta disponible el video
Kevin Daniel Guzmán Delgadillo
Poli si es de múltiple, pero Morfo no es forma, Morfo es de Morfología que es (no la forma) si no la composición de los organismos. No es muchas formas, si no muchas composiciones...
felipe bernal
buena aclaracion !!!
Bernardo Aguayo Ortega
Me encanta, cada vez me queda más claro muchos conceptos
Carlos Alfredo Soria Añez
por que no tiene la necesidad de usar los métodos getters y Setters de la clase Inner "availableAppointment" cuando usa la linea de codigo availableAppointments.toString() , es decir , entiendo q agarra el arraylist , pero lo q no entiendo es porq se come los getters y setters?.... Solo se me ocurre que esta entrando directo a la matriz dinamica y obteniendo los datos desordenados y no entrando a la clase Inner. Estoy en lo correcto?
Jaime Yañez Orosco
no es necesario usar los metodos get and set porque si te das cuenta ella pone AvailableAppointments.ToString() osea que manda a llamar el metodo toString() que sobreEscribio en la clase cita (AvailableAppointment). Los metodos get and set son solo para datos encapsulados y el metodo toString() es public.
Cristian Damaso Calderon Rojas
el metod .toString() aplicado sobre un array nos ayuda a mostrar todo el contenido, si no te queda muy claro crea un array nuevo, si quisieras visualizar su contenido por terminal seguramente pensaras en un bucle para mostrarlo pero si usas el metodo toString sobre tu array te mostrara todo el contenido por terminal. No aplica para matrices
Nicol Barajas
toString de avaibleAppointments
public String toString() { return "\nAvaibleAppointment:" + "\nTime: " + time + "\tDate: " + date; }
toString de Doctor:
public String toString() { return "Doctor: \n" + super.toString() + "Speciallity: " + speciallity + "\n" + avaibleAppointments.toString(); }
CHRISTIAN JAIMES
\ = alt +92
Kevin Daniel Guzmán Delgadillo
Tengo entendido que el polimorfismo es la capacidad que tiene una entidad (objeto) dentro de un sistema, para responder a mensajes morfológicamente identidos. Eso lo podemos ver en el método toString de java, sin importar que tipo de objeto sea, cuando se le da un mensaje a la entidad (objeto) de que responda al mensaje toString, este responderá sin importar que.
Anncode nos dice que es la capacidad de sobreescribir comportamientos, más bien es la capacidad de las entidades del sistema, para interpretar y responder mensajes sin importar que contexto se tenga ...
Usuario anónimo
User📌 El polimorfismo nos permite sobrescribir un método, otorgándole comportamientos diferentes.
Francisco Javier Suarez Verdugo
Además de conocer cómo funciona el polimorfismo, también aprendemos a como establecer la estructura de texto por medio de los saltos de línea. Muchas gracias por la clase instructora Anahí.
Polimorfismo
Cabe aclarar que en POO tenemos 3 clases de polimorfismo de las cuales ya hemos revisado 2 tipos:
public int suma (int num1, int num2) { return num1 + num2; } public String suma (String text1, String text2) { return num1 + " " + num2; }
<!-- Clase Padre User --> public String toString () { return name + " " + email; } <!-- Clase Hija Patient --> public String toString () { return super.toString() + " " + blood + " " + weight; }
User doctor = new Doctor ("Cristian", "criss.ud@gmail.com"); User paciente = new Patient ("Carlos", "carlos96@hotmail.com");