Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Prep谩rate para tu pr贸ximo empleo comprando hoy a precio especial

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

7 D铆as
20 Hrs
20 Min
34 Seg
Curso Avanzado de Java SE

Curso Avanzado de Java SE

Anah铆 Salgado D铆az de la Vega

Anah铆 Salgado D铆az de la Vega

Implementando m茅todos abstractos en Java

5/40
Recursos

Aportes 44

Preguntas 11

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

que mala practica borrar/editar codigo fuera de camara

que complicado el hecho de tener que apoyarte de los comentarios de otros alumnos para poder complementar c贸digo del curso! falla tremenda Platzi 馃槮

Algunos vemos el video mientras editamos nuestro proyecto y hace falta que Anncode mencione que se deben borrar los objetos (aunque si dice que no se necesitan creo que para los menos avanzados si ser铆a necesario mencionarlo ) peque帽ita observaci贸n :P Por lo dem谩s, excelente!

**IMPORTANTE: ** En caso que no les funcione la marcada en Visto de las Series, no se preocupen, en el pr贸ximo capitulo lo corrigen en el inicio鈥 es llamar al m茅todo view() de la clase serie, y en el poner en vista la serie con el m茅todo setViewed(true).

Mi implementacion de los m茅todos view() fue un poco diferente ya que prefer铆 hacer las respectivas implementaciones en la clase respectiva. Concretamente hice la validacion de la cantidad de capitulos vistos en la clase Serie pues considero que es el lugar adecuado dentro de la l贸gica con la que esta estructurada la aplicacion.
Clase Serie

    @Override
    public void view() {
        setViewed(true);
        List<Chapter> chapters = getChapters();
        for (Chapter chapter : chapters) {
            if (chapter.getViewed().equals("No")) {
                setViewed(false);
                break;
            }
        }
    }

Clase Movie

    @Override
    public void view() {
        setViewed(true);
        startToSee(new Date());
        for (int i = 0; i < 100; i++) {
            System.out.println("...You are seeing the " + getTitle() + "...");
        }
        Utils.timeDelay(2);
        stopToSee(new Date());
        System.out.println("\n::YOU JUST SAW::" + toString());
    }

En la clase Chapter no hice ning煤n cambio pues el comportamiento del metodo view() es exactamente el mismo que en la clase Movie.

Venia del curso anterior pero no hab铆amos creado la clase AmazonUtil, seg煤n veo en la estructura de archivos esta creada dentro de un paquete, para los que vienen del curso pasado tendremos que revisar el c贸digo y compararlo con los que esta manejando la profe para poder correr el c贸digo correctamente

Bueno pues estuvo super, pero fueron mas modificaciones que las que se ense帽aron en el video, menos mal existe el apartado de archivos jeje

para que sirve @Override?

Estoy en el minuto 12:37 queriendo hacer correr el programa, e seguido el curso apartir del basico y hay muchos cambios que no se hicieron en el curso basico, piden que solo clone el repo, que simon ahi lo puedo encontrar completo pero se saltaron muuuuuuuuchas cosas en la construccion que si nos estan poniendo en el repositorio y la neta es desesperante 馃槮

Por alguna raz贸n tras implementar los cambios, no me da ningun error pero tras marcar todos los chapters de 1 serie como vistos la serie no se marca como vista xD, intent茅 copiar el c贸digo y ni aun asi _T

Polimorfismo en su m谩xima expresi贸n siguiendo los patrones de herencia y abstrayendo las clases seg煤n se requiera, excelente clase.馃槂

Especificamente, porque ahora puedo construir un Film como si fuera un capitulo?

Hay algo que no me est谩 cuadrando, y es que la profesora dice que la variable film que hace referencia al objeto Movie tendr谩 todos los m茅todos de dicha clase. Pero eso no sucede realmente, la variable film no tiene acceso a todos los m茅todos de Movie, solo los de Film.

pues creo que ya esta arreglado lo de que 鈥渉izo c贸digo fuera del video鈥 por que a mi me funcion贸 perfecto todo. Muy buena clase!

Al crear un objeto de la clase Film con las caracter铆sticas de un Chapter me d铆 cuenta que dicho objeto no tiene acceso a los Getters y Setters de Chapter. 驴Eso quiere decir que tengo que declarar los Getters y Setters en la clase abstracta? #seMeOcurri贸EnElBa帽o

Excelente 馃槂

habia visto polimorfismo antes
pero en esta clase quedo mas que resuelto
gran clase!! 馃槂

Excelente clase, muy bien detallado lo que es el polimorfismo

Excelente clase

Film film = new Movie(鈥);
Esto es lo que viene siendo un casteo de objeto no?

Clase increible, clara, con un ejemplo completo. Gracias

Bueno e llegado hasta aca porque ella en el curso de java se o hace esta aplicacion hace una de citas meidcas no se si tiene que actualizarce o que lo baje de github pero igual para alguien nuevo que esta siguiendo esto es muy mal este tipo de ense帽anza

Una forma para poder instanciar un objeto a partir de nuestra clase abstracta es creando un m茅todo static en nuestro main y pasar por par谩metro nuestra clase abstracta y en la implementacion podemos poner el nombre de la ClaseAbstracta.nombreDelMetodo en ejemplo en el proyecto seria asi:

public static void  allView(Film abstractClass){
abstractClass.view();
}

Leyendo los comentarios me di cuenta que muchos tienen problema con seguir el curso usando Intellij IDEA. Les dejo mi repositorio all铆 se encuentra el c贸digo base para iniciar este curso usando este IDE.

https://github.com/IngJuanMaSuarez/AmazonViewer

Solo descargan o clonan el repositorio, abren Intellij IDEA, seleccionan la opci贸n de 鈥淥pen鈥, buscan la carpeta descargada y descomprimida y listo.

muy buena clase y excelente explicaci贸n!!!

驴Hicieron cambios a la estructura del proyecto?
Avisenme

Esta clase ha estado genial, gracias anncode, muy bueno el curso

Excelente!!

Hola, 驴por que en 鈥渕ovie鈥 no figura abstract, si se esta heredando de la clase abstracta 鈥渇ilm鈥? 鈥 si desean pueden ir al v铆deo de 鈥4) Clases Abstractas鈥 y revisar el la rspta del 1er comentario. Gracias

Excelente clase, salio muy bien mi implementacion anncode. Solo un dato en NetBeans tuve que comentar la siguiente linea de c贸digo

throw new UnsupportedOperationException("Not supported yet.");

Que se generaba al implementar el m茅todo view(), me daba error al ejecutar el programa.

 @Override
    public void view() {
        setViewed(true);
        Date dateI = startToSee(new Date());
        for(int i=0; i<1000;i++){
            System.out.println("..............");
        }
        //Terminamos de verla
        stopToSee(dateI, new Date());
        System.out.println();
        System.out.println("Viste :"+toString());
        System.out.println("Por: " + getTimeViewed() + " milisegundos");
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

Excelente clase.

Excelente Clase de Implementacion.

Yo tengo una duda, las clases no son una representaci贸n abstractas de modelos tangibles o intangibles del mundo real, creo a mi criterio que estos son parches del lenguaje para poder resolver algo tan natural como programar una restriccion

Hola, estuve implementando el c贸digo nuevo del v铆deo pero cuando iba a a ver alg煤n cap铆tulo me daba un error en la consola.

En mi caso estaba trabajando con la versi贸n del proyecto del curso anterior, por lo visto me falto implementar algunas cosas, pero al hacer las modificaciones y ajustes con el c贸digo en la carpeta de archivos todo va excelente. Atentos con esos detalles.

Excelente clase

Me encata java por estas cosas!!!

Excelente, seguimos avanzando.

Muy buena clase, hay que darse el tiempo de entender cada cosa.

C贸mo se hace seguimiento al valor que van tomando las variables, por ejemplo la del contador de chapters? o cualquier otra variable, es para simular una prueba de escritorio.
Gracias!!!

No s茅 porque pero los programas de consola me gustan m谩s que los de interfaces gr谩ficas

Excelente explicaci贸n instructora Anah铆, para las personas que tenga problemas con el c贸digo, descarguen el proyecto original en la pesta帽a archivos y enlaces, ya que se realizaron varios cambios en las clases Serie y Chapter para que los a帽adan.