Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

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 70

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

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

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.

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 ?

no ecuentro los cursos de

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

que mencionas 😦

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.

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 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. 😃

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!!!

Espectacular curso!
Muchas gracias, Anahí Salgado!

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.

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.

Muchas gracias Anahí por tus conocimiento. Un abrazo

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:

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

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.

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.

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

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

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

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?

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).

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!

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í.