Description

Curso: Programando con Java paraAndroid Tarea: Netflix (Semana 2) Autor: Luis José Meléndez Ruiz Fecha: 27-03-2016 Además te dejo algunas ideas de cómo ejecutar el programa: . el package al que pertenecen. los atributos y los métodos creados y sobreescritos (@Override). En todas las clases se puede apreciar el nombre de la clase. el tipo: si es una clase o una interfaz. Serie. A continuación se adjunta por escrito el código de las 5 clases: Pelicula. la clase ejecutable Netflix se utiliza para la creación de los objetos y su manipulación en el método main(). Además la clase Stream implementa los métodos declarados en la Interface Visualizable (utilizando dicha Interfaz).Diagrama de Clases Se puede apreciar que las clases Pelicula y Serie son subclases o clases hijas de la clase Stream (es decir. Stream. Por otro lado. Visualizable y Netflix. se aplica la Herencia). Serie. En la consola dirígete a tu disco C. Copia dicha carpeta a tu disco C. Crea las clases Pelicula. Visualizable y Netflix. Netbeans. Existe una carpeta llamada “netflix” en el archivo .java copiando la totalidad de la carpeta al directorio “src” del Workspace de Eclipse o IDE de tu preferencia. Puedes copiar el código de cada clase que encontrarás en las siguientes páginas. JDeveloper. 2. o b) Puedes ejecutar directamente desde la Consola de Windows / Terminal de Linux. Stream. Ahora tienes dos opciones: a) Puedes usar los archivos . Y desde ahí compilarlos y ejecutarlos. u otro) y crea un nuevo proyecto. Para esto abre tu IDE favorito (Eclipse. Copia el código respectivo.Netflix Deberías tener algo como esto: . Luego compila y ejecuta el proyecto. Para esto abre la consola o terminal.zip junto con este documento que contiene el código ya escrito para su ejecución. Una vez en ahí.1. escribe lo siguiente: java netflix. int anio. String genero. this. duracion). // Ejemplo: 1990 // Constructor default public Pelicula() { super(). } // Constructor con título y creador.año = 0. excepto visto public Pelicula(String titulo. return info. } } . creador).Clase Pelicula (subclase o clase hija de Stream) package netflix.anio = anio. genero.toString() + "\n".anio = anio. info = info + "Año: " + anio. } public void setAnio(int anio) { this. this. /* * @autor: LUIS JOSE MELENDEZ RUIZ * @fecha: 27-03-2016 * */ public class Pelicula extends Stream { // Atributos (los demás estan en la clase padre Stream) private int anio. } // Sobreescritura de método toString @Override public String toString() { String info = super. Los demás campos tienen valor default public Pelicula(String titulo. String creador. int duracion) { super(titulo. } // Métodos GET y SET de todos los atributos (los demás estan en la clase padre Stream) public int getAnio() { return anio. } // Constructor con todos los atributos. creador. String creador) { super(titulo. creador. this. info = info + "Nro Temporadas: " + nroTemporadas.Clase Serie (subclase o clase hija de Stream) package netflix. Los demás campos tienen valor default public Serie(String titulo. duracion). int duracion) { super(titulo. excepto visto public Serie(String titulo. } // Constructor con todos los atributos. creador). } public void setNroTemporadas(int nroTemporadas) { this.nroTemporadas = nroTemporadas. // Constructor default public Serie() { super().nroTemporadas = 1. return info. String creador) { super(titulo. } } . this. // valor 1 por defecto } // Constructor con título y creador. String genero.toString() + "\n". int nroTemporadas. } // Métodos GET y SET de todos los atributos (los demás estan en la clase padre Stream) public int getNroTemporadas() { return nroTemporadas. String creador. } // Sobreescritura de método toString @Override public String toString() { String info = super. genero. /* * @autor: LUIS JOSE MELENDEZ RUIZ * @fecha: 27-03-2016 * */ public class Serie extends Stream { // Atributos (los demás estan en la clase padre Stream) private int nroTemporadas.nroTemporadas = nroTemporadas. duracion = 0.creador = creador. private String creador. excepto visto public String getTitulo() { return titulo. } // Métodos GET y SET de todos los atributos. private int duracion. this.creador = "No definido". } . this. String creador) { this.titulo = titulo. this. this.genero = "No definido". excepto visto public Stream(String titulo. String creador. // Ejemplo: true o false // Constructor default public Stream() { this.titulo = titulo. Los demás campos tienen valor default public Stream(String titulo. this. /* * @autor: LUIS JOSE MELENDEZ RUIZ * @fecha: 27-03-2016 * */ public class Stream implements Visualizable { // Atributos private String titulo.visto = false.duracion = duracion.creador = creador. this. } public void setTitulo(String titulo) { this. // Ejemplo: 97 (indica una duración de 97 minutos) private boolean visto. } // Constructor con todos los atributos. int duracion) { this.titulo = titulo. String genero.titulo = "No definido".genero = genero. this. // valor FALSE por defecto } // Constructor con título y creador. private String genero.Clase Stream (superclase o clase padre de Pelicula y Serie) package netflix. this. visto = true. } public void setDuracion(int duracion) { this. info = info + "Duración: " + duracion + " minutos \n". } else { info = info + "Visto?: No". } public void setGenero(String genero) { this. } // Sobreescritura de método toString @Override public String toString() { // TODO Auto-generated method stub String info = "Titulo: " + titulo + "\n". } // Métodos traidos desde la Interfaz e implementados aquí @Override public void marcarVisto() { this. } } . if(visto) { info = info + "Visto?: Sí". } public void setCreador(String creador) { this. } public String getCreador() { return creador.creador = creador. info = info + "Género: " + genero + "\n". } return info. info = info + "Creador: " + creador + "\n".duracion = duracion. } @Override public int tiempoVisto() { return duracion.genero = genero. } @Override public boolean esVisto() { return visto. } public int getDuracion() { return duracion.public String getGenero() { return genero. // Este método devolverá el tiempo en minutos/segundo que se visualizó el video public int tiempoVisto(). /* * @autor: LUIS JOSE MELENDEZ RUIZ * @fecha: 27-03-2016 * */ public interface Visualizable { // Este método cambiará el atributo de visto a true public void marcarVisto().Clase Visualizable (Interface implementada en Stream) package netflix. // Este método devolverá el estado del atributo visto public boolean esVisto(). } . "Alfred Gough".3. Uno de Peliculas y otro de Series Pelicula [] peliculas = new Pelicula[5]. peliculas[2].5."Comedia".153). Bean".8."James Cameron".marcarVisto()."Gore Verbinski"."Francis Ford Coppola".1997.Clase Netflix (clase ejecutable) package netflix.10.marcarVisto().2002."Suspenso. peliculas[4]."Comedia.2007."Gángsters. series[3] = new Serie("CSI: Miami".45). Road movie". Misterio". series[1] = new Serie("Game of Thrones". Drama"."Fantasía.9. /* * @autor: LUIS JOSE MELENDEZ RUIZ * @fecha: 27-03-2016 * */ public class Netflix { public static void main(String[] args) { // Creo dos arrays de 5 elementos. // Creo los objetos Pelicula peliculas[0] = new Pelicula("Armageddon".1972."Teens"."Martha Kauffman". // Se marcan como vistas algunas peliculas y series peliculas[0].178).1998. Medieval"."Sci-fi"."Michael Bay". Drama". Drama". // En esta parte se mostrará una lista de las Películas y Series que se visualizaron y un detalle de los minutos visualizados int minVistosPeliculas = 0.22). Serie [] series = new Serie[5]. peliculas[2] = new Pelicula("The godfather"."Sci-fi". peliculas[3] = new Pelicula("Las vacaciones de Mr. series[2] = new Serie("Friends"."Catástrofe. . int minVistosSeries = 0.65)."Jerry Bruckheimer"."Danny Kallis"."David Benioff". peliculas[4] = new Pelicula("The Ring"."Steve Bendelack".210).90).marcarVisto(). series[4] = new Serie("The Suite life on Deck".45).145). series[1].marcarVisto(). peliculas[1] = new Pelicula("Titanic". series[3].24)."Policial. // Creo los objetos Serie series[0] = new Serie("Smallville".marcarVisto(). println("").getAnio(). System.out.out.out. indicePeliculaMasReciente = i.println("[Pelicula] " + peliculas[i]. System. System.getDuracion() + " minutos)").out.out.int totalMinVistos = 0.println(""). System.println("Minutos Vistos [Peliculas]: " + minVistosPeliculas).toString()).out. // Para hacer un salto de línea System. // Para hacer un salto de línea for(int i=0.println("Minutos Vistos [Series]: " + minVistosSeries). // Para hacer un salto de línea System.println(peliculas[indicePeliculaMasReciente]. i<5.getAnio() > año) { año = peliculas[i].out. System. System.println("***** Película más reciente ***** "). System. // En esta parte se indicará la Serie con más temporadas y la película del año más reciente.getTitulo() + " (" + peliculas[i].getAnio(). minVistosPeliculas += peliculas[i].getNroTemporadas(). int indicePeliculaMasReciente = 0. // Para hacer un salto de línea System.out. System.getDuracion().getNroTemporadas(). System. int año = peliculas[0].out. int nroTemporadas = series[0].out.println(""). } } totalMinVistos = minVistosPeliculas + minVistosSeries.out.println(""). } // Aquí obtengo el indice de la serie con más temporadas if(series[i]. minVistosSeries += series[i].out. } } // Se muestra la informacion utilizando el método toString().getNroTemporadas() > nroTemporadas) { nroTemporadas = series[i].println("***** Serie con más temporadas ***** ").println("Tiempo total: " + totalMinVistos + " minutos"). } if(series[i].println(series[indiceSerieMasTemporadas].toString()). indiceSerieMasTemporadas = i. for(int i=0.println("***** Lista de Peliculas y Series Visualizadas *****").out. i<5. Muestro en pantalla toda su información int indiceSerieMasTemporadas = 0.println("[Serie] " + series[i].getDuracion() + " minutos)").out. } } . i++) { if(peliculas[i].getTitulo() + " (" + series[i]. i++) { // Aquí obtengo el indice de la película más reciente if(peliculas[i].getDuracion().esVisto()) { System.esVisto()) { System. duda o sugerencia.com Por si tienes algún comentario.¡Eso sería todo! Si deseas contactarme puedes enviar un email a: lmelendezruiz@gmail. Gracias por tu atención. .
Copyright © 2024 DOKUMEN.SITE Inc.