No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Java SE Orientado a Objetos

Curso de Java SE Orientado a Objetos

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Cierre del curso: Continúa con Programación Funcional en Java

38/38
Recursos

¡Felicitaciones por terminar el Curso de Introducción a Java SE!

En este curso aprendimos a implementar los 4 pilares de la programación orientada a objetos en Java con un proyecto para agendar citas médicas.

Recuerda resolver los ejercicios, completar el examen, darle 5 estrellas a la profesora y compartir tu proyecto, notas, dudas y comentarios en la sección de discusiones.

No olvides que puedes continuar tu ruta de aprendizaje de Java con los siguientes cursos:

  • Curso de Java SE: Programación Funcional
  • Curso de Java SE: Persistencia de Datos

Aportes 90

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Creo que las ultimas clases requerían mas conocimiento de estructura de datos y la sección de collections debería haber sido mas larga con mas ejemplos.

Me gustaría ver cursos de UML y Estructura de datos, mi voto va para que Anahi sea la profesora 😃 lol

Yo durante este curso…

Seria bueno un curso de estructura de datos en Java o algo por el estilo, que las últimas clases estiveron pesadas. D:

Me acaba de explotar la cabeza, aunque algunos no estén muy conforme con las últimas clases, en la universidad tome programación orientada a objetos y no me la explicaron como aquí, para mi las interfaces no era más que la parte gráfica de un programa en java y la abstracción era cuando una clase estaba referenciada a algo intangible, como expresa la palabra no tiene naturaleza física y la persistencia de datos es cuando conectas tu programa a una base de datos. Así que me voy feliz de este curso por haber aprendido la verdadera funcionalidad de estos componentes 😃

Los cursos de Java con Anahí siempre son espectaculares. 👏👏👏

Me gusto mucho el curso pero quedan en deuda con el tema de colecciones.

para mi el curso llego hasta la clase de herencia e interfaces de hay en adelnate me parecio que se apresuro a terminar como pudo el proyecto del curso y a meter a la fuerza temas que hicieron falta lo de los maps se devio explicar de una forma un poco mas profunda y con ejemplos primero sencillos y despues practicos, aunque entendi el codigo que la profesora estaba implementando me parecio apresurado

La verdad es que llevo muchos cursos con programación orientada a objetos más programación orientada a objetos en la universidad, más estructura de datos en la universidad también, además de haber usado orientación objetos en el pasado para algunos proyectos personales entonces no se me complicó taaaaaanto entender la programación (de hecho lo iba a haciendo a la par de Anahí 😛). Para mi es un curso GENIAL y mi recomendación para aquellos que no logran entender o les cuesta, antes de mirar la programación vuelvan a verse las clases anteriores donde se explican los conceptos de POO (no importa si tienen que empezar desde la clase 1) y tómenselo con paciencia, no es imposible, los nombres pueden confundir en ocasiones, ver muchos Doctor y Doctors por todos lados puede perder, pero es cuestión de ir entendiendo la estructura de programa, siempre es más fácil ver nuestro código que el código de alguien más.

La practica es muy importante.

Paciencia y ánimos a todos, se puede 😉

Faltó eliminar cuando se toma la cita

Avanzado el curso, pero siento que si aprendi mucho

Gracias platzi.

Para las personas que estan empezando les deseo mucha suerte, ahora trabajo para mercado libre y todo lo aprendi en platzi y sigo aprendiendo

Espectacular curso!
Muchas gracias, Anahí Salgado!

Este video dice que puedo continuar con
Curso de Java SE: Programación Funcional
Curso de Java SE: Persistencia de Datos

pero no veo los cursos, cunado estarán disponibles ?

Estupendo curso, me quedo claro en funcionamiento de los pilares de la Programación Orientada a Objetos y además se nos brindó conceptos básicos de elementos que usaremos de forma frecuente.

no ecuentro los cursos de

Curso de Java SE: Programación Funcional
Curso de Java SE: Persistencia de Datos

que mencionas 😦

Veo que hay muchas personas inconformes con los últimos videos, pero considero que son videos donde Anahi demuestra como utilizar la POO en un proyecto, a pesar de que no esta construido con buenas practicas ni totalmente organizado, se puede apreciar lo que se puede lograr con este paragdima, aplicando los conceptos de los primeros videos, es claro que al final es pura lógica de programación, no creo que se iba a poner a detallar específicamente cada linea de código cuando es algo mas de lógica de negocio.

La verdad creí haber sabido Java orientado a Objetos pero este curso me enseño contenido que no tenía 100% claro, buen trabajo. :th

Excelente curso, seguimos con el avanzado.

Cuando salen?
Curso de Java SE: Programación Funcional
Curso de Java SE: Persistencia de Datos

Muchas gracias Anahí @anncode 😄 aprendí mucho. 😃

Me gusto mucho el ejercicio lo pude completar, al final se me presentaron unos errores que quizas en algun momento me descuide, y los pude solucionar buscando el paso a paso del programa ya que esta tan bien estructurado que se encuentran facil los errores, muchas dudas como las colecciones, eso solo significa una cosa que este camino apenas comienza, pero lo importante es que ya estamos aqui, con mas actitud de ahora en adelante.

Muchas gracias Anahí por tus conocimiento. Un abrazo

Las últimas clases requieren investigar por cuenta propia pero son entendibles si vas de poco en poco viendo el código. En fin, se necesita más sobre estructura de datos y apunto a Anahí a que nos enseñe xd

Gracias por este curso Anahí, tuve mis altos y bajos.
Siento que fue una adecuada introducción a POO en Java.

Estas últimas clases estuvieron intensas y hubo algunos temas que no se explicaron como se debía, pero aún así considero que fue un gran curso y la verdad aprendí muchas cosas que cuando estudiaba en un instituto no pude. Gracias a la profe por toda su dedicación y al equipo de Platzi por brindar y mantener este curso hasta la fecha de hoy 💚. Comparti por aquí mi proyecto del curso: <https://github.com/jdrodriguez2707/object-oriented-java-se-course>
Esta es la tercera vez que llevo el curso! Fácil no es! Muy probable que lo vuelva a llevar! Es demasiado este curso! ME ENCANTO!

Pues no entendí casi nada de los últimos 3 videos. A ver cómo me va en el examen…
Pero la parte de POO me pareció muy buena!.
Me gustaría que alguien me recomendara un curso aquí para entender y practicar mejor lo que se vio en la sección 5. Ensamblando Objetos (últimos 5 videos).

Siendo honesto esta vez no dejare las 5 estrellas, estoy de acuerdo con varias personas en que el curso empieza bien pero para gente que este es su primer acercamiento a la P.O.O empieza a ya no ser tan ameno.

Esta interesante todo pero siento que se pudo limpiar mucho más las el proyecto.

Buen curso, se nota que le ponen mucho empeño en su realizacion

Creo que hay un error en el código. En el minuto 3:33 , en “Select Date” al escoger la opción 1 despliega los datos de la opción 2.

Excelente curso, excelente profesora!!!

no entendí del todo los ultimos videos

Que reto o ejercicio proponen para apropiarse mas de los conceptos vistos en este curso?

😃 Afiance conocimientos de Programación Orientada a Objetos de forma práctica.

Me pareció bastante bien estructurado el curso. En las ultimas clases se sintió un poco pesado por todo lo de programación estructurada, pero era fundamental verlo para entender el funcionamiento del proyecto.

En general un buen curso, algunos videos finales que me pareció que iba todo muy rápido pero en general bien…

uff super intenso el curso y interesante me perdi por lo ultimo igual pero a repasarlo de nuevo y presentar el examen

Un curso de gran valor.
Gracias!!

Al parecer el siguiente curso es: https://platzi.com/clases/java-avanzado/

Buen Curso Cumple con el Objetivo de explicar gran parte de la POO en javaSE, algo apresurado al final. pero excelente. Gracias.

Cuando estoy en Patient y selecciono una cita, le doy Yes (1) y me sale esto xD:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date
	at ul.UIPatientMenu.showBookAppointmentMenu(UIPatientMenu.java:87)
	at ul.UIPatientMenu.showPatientMenu(UIPatientMenu.java:25)
	at ul.UIMenu.authUser(UIMenu.java:85)
	at ul.UIMenu.showMenu(UIMenu.java:37)
	at ul.UIDoctorMenu.showDoctorMenu(UIDoctorMenu.java:31)
	at ul.UIDoctorMenu.showAddAvailableAppointmentsMenu(UIDoctorMenu.java:88)
	at ul.UIDoctorMenu.showDoctorMenu(UIDoctorMenu.java:26)
	at ul.UIMenu.authUser(UIMenu.java:74)
	at ul.UIMenu.showMenu(UIMenu.java:33)
	at ul.UIPatientMenu.showPatientMenu(UIPatientMenu.java:31)
	at ul.UIMenu.authUser(UIMenu.java:85)
	at ul.UIMenu.showMenu(UIMenu.java:37)
	at Main.main(Main.java:11)

Del resto funciono bien.

Si queremos mostrar las citas que un doctor tiene:

1º En UIMenu ponemos la lista de patients como atributo de clase (para poder acceder a ella desde UIDoctorMenu)

    public  static ArrayList<Patient> patients = new ArrayList<>();

Quedando

public class UIMenu {

    public static final String[] MONTHS = {"January", "February", "March", "April", "May", "June",
                                "July", "August", "September", "October", "November", "December"};

    public static Doctor doctorLogged;
    public static Patient patientLogged;

    public  static ArrayList<Patient> patients = new ArrayList<>();

2º Añadimos la función showScheduledAppointments en UIDoctorMenu

private static void showScheduledAppointments(){
        int numberOfAppointments = 0;
        for (Patient patient : UIMenu.patients) {
            for (AppointmentDoctor appointmentDoctor : patient.getAppointmentDoctors()) {
                if(appointmentDoctor.getDoctor() == UIMenu.doctorLogged){
                    numberOfAppointments++;
                    System.out.println(numberOfAppointments + ". " +
                            "Appointment with patient: " + patient.getName() +
                            "\nDate: " + appointmentDoctor.getDate() +
                            "Time: " + appointmentDoctor.getTime());
                }
            }
        }
        if(numberOfAppointments == 0){
            System.out.println(UIMenu.doctorLogged.getName() + " you don't have appointments!");
        }
    }

3º Llamamos a la función desde showDoctorMenu()

                    showScheduledAppointments();

Quedando:

public class UIDoctorMenu {

    public static ArrayList<Doctor> doctorsAvailableAppointments = new ArrayList<>();

    public static void showDoctorMenu(){
        int response = 0;
        do {
            System.out.println("\n\nWelcome doctor: " + UIMenu.doctorLogged.getName());

            System.out.println("1. Add available appointment");
            System.out.println("2. Show scheduled appointments");
            System.out.println("0. Exit");

            Scanner scanner = new Scanner(System.in);
            response = Integer.parseInt(scanner.nextLine());

            switch (response){
                case 1:
                    showAddAvailableAppointmentMenu();
                    break;
                case 2:
                    showScheduledAppointments();
                    break;
                case 0:
                    UIMenu.showMenu();
            }

        }while(response != 0);
    }

Cuando no hay appointments:

Cuando un paciente sí agenda una cita:

me gusto mucho el curso, y lo volvere a repasar y aplicarlo a otro proyecto, gracias platzi. 💚
No seas malo. No entendi muchas cosas al final!
Si en un curso se abarca un tema sabiendo que en cursos pasados no se vio se debe explicar, así no sea el tema principal no se puede dar por echo que el alumno lo sabe o que lo investigará por su cuenta, de ser así simplemente todos serían completamente autodidactas y no estarían pagando cursos, muy mal cierre. Tema que se toca sin haberse visto en cursos anteriores tema que se explica.
que densa la ultima parte, deberia explicar un poco con diagramas de clases

Muchas gracias Anahi sos excelente profesora…!

Excelente Ejercicio Practico. ya que todo no puede ser perfecto note 2 detalles.

El primero es un Error : Al momento de Seleccionar la cita, como pueden ver en el video(3:32) se selecciona la opción 1. Pero en la confirmación vemos la información de la cita 2, Este ocurre por que se guardado mal la colección interna. por que estamos creando el:

Map<Integer, Doctor> doctorAppointments = new TreeMap<>();

antes del for, les invito a que hagan Debug en esta parte para que se den cuenta como se esta formando la colección doctors.
Esto s resuelve creando este map dentro del for.

<for (int j = 0; j < availableAppointments.size(); j++) {
                    // creamos el map interior para recibir el idicie de la fecha y la fecha asociada el doctor.
                    Map<Integer, Doctor> doctorAppointments = new TreeMap<>();
                    k ++;
                    System.out.println(k + ". " + availableAppointments.get(j).getDate() + " /" + UIDoctorMenu.doctorsAvailableAppointments.get(i).getName());
                    doctorAppointments.put(Integer.valueOf(j) , UIDoctorMenu.doctorsAvailableAppointments.get(i));
                    doctors.put(Integer.valueOf(k) , doctorAppointments);
                }> 

y lo segundo es que nunca de creo y implemento el método. 2. My scheduled appointments
Supongo que nos queda de tarea practica hacerlo y implementar la acciones de la Enfermera.

Muchas Gracias Anahí, amé el curso

Gracias Anahí! Me sigo rompiendo la cabeza pero se que con practica lograre dominarlo ❤️

Me encanto el curso (´:

Reafirmo… PÉSIMO el curso. Hago este comentario negativo para que se pueda mejorar el desarrollo del curso.

voy a repetir este curso un mínimo de 3 veces para poder entender xd

Hola Anahí muchas gracias excelente curso. Ahora a practicar y continuar con la ruta.

Imagino que la capa intermedia seria el Controlador o Controller

La primera vez que intenté hacer el curso lo dejé a las primeras clases porque no entendía nada, esta segunda vez vine a terminarlo ya habiendo cursado la materia de POO en la universidad y sabiendo sobre Java para reforzar los contenidos y a mitad de curso dejé de programar a la par de la profesora porque no soportaba lo mal preparado que está el curso y su contenido.
Toda la línea de cursos sobre C (excepto el de programación estructurada) y los de Java son de calidad pésima, por suerte los de la escuela de desarrollo web son un poco mejor pero después de este curso definitivamente no voy a renovar la suscripción de Platzi

Programación pura y dura me encanto!

Siento que el curso se oriento tanto a la practica que se descuido la parte de los conceptos.

El curso empezó muy bien, después como que el grado de complejidad aumento a partir del video 35, una recomendación seria agregar diagramas UML para visualizar la lógica de negocios del proyecto, porque solo así a puro código es un tanto complejo de visualizar que se esta programando.

Las ultimas clases van demasiado rápido, sin explicaciones claras sobre los temas de Collections. Además, hay bugs claros sobre el proyecto, se agenda la fecha 1 que corresponde a 03/01/2019 y al revisar las citas del paciente aparece otra fecha.

wao

podrian poner los archivos del curso de Ann tengo errores y no se como solucionaleros y el intelij IDEA no me los marca HELP

Código fuente del proyecto aquí: Github Java POO

Muy buen curso, se va poniendo bueno Java!

Excelente curso gracias por compartir su conocimiento.

Excelente curso y excelente profesora se ha aprendido muchas cosas

De los cursos que menciona y que aun no estan si ese es el caso, creo que un adelanto de esos cursos se puede encontrar en el curso de java avanzado son los ultimos dos apartados de JDBC y Lambdas.

Excelente curso!

Muchas gracias por la buena explicación Anahí.

Gracias!!

Estuvo muy bueno el curso!!!

Qué genial!! Funciono todo

Estimados, para cuando el curso de Programación Funcional y Persistencia de Datos?

Muchas gracias por el curso

La explicación de los temas bastante claros.Pude reforzar conocimientos.

Disuclpen Hay un curso que se hable de jaba bean jsp java faces es decir JAVA EE?

3:50 y que pasaría si selecciono otra vez la misma fecha?

Excelente curso y la profesora 😃 gracias!

Agregue el menú 2 del doctor para ver sus Appointments (showDoctorMyAppointments). No estaba creada la opción.

Y modifique la fecha de salida para los pacientes en formato String

Todo bien , pero no tengo la opción para cambiar de usuario jaja

y para separarlo en capa de Presentación y Datos hay curso?

Buen curso, la unica queja es lo apresurado que se dio el ultimo concepto que toco estudiarlo por fuera y luego ver los videos para poder entender el objetivo que se queria lograr.

Como challenge personal, decidí agregar un Modulo de administrador donde el admin pueda dar de alta doctores y pacientes y las operaciones se hagan con base en los usuarios que da de alta el administrador.

Bueno fue un muy buen curso, creo que me aclararon muchas dudas que tenia con JAVA, pero el proyecto final, tiene algunos errores al momento de su ejecución, y hacer los logout de cada menú, pero en general explicaste bien, y diste muy buenas bases para entender y conocer POO en JAVA

Un curso de Java solo para estructuras de datos!

Este curso me quitó las ganas de seguir estudiando :(

Curso de estructuras de datos en Java y curso de UML please.

Es un buen curso se entienden las clases aunque las del ultimo bloque hay que verlas con lupa y revisar todos los detalles para no perderse.

El paciente al agendar una cita, debería tener la lógica de eliminar las citas que ya fueron agendadas por un paciente, porque si no, un paciente puede agendar la misma cita varias veces. no tendría sentido.

Excelente curso, a seguir aprendiendo.

Hubieran sido más videos con más tranquilidad.

Estuvo genial el curso, gracias Anahí.