Programa Netflix
Diagrama
<<Interface>>
Visualizable
+ marcarVisto(): void
+ esVisto(): boolean
+ tiempoVisto(): int
Contenido
- Nombre: String
- Creador: String
- Genero: String
- Duracion: int
+ marcarVisto(): void
+ esVisto(): boolean
+ tiempoVisto(): int
+ toString(): void
Pelicula Serie
- Fecha: int - Temporadas: int
+ toString(): void + toString(): void
Programas
[Link]
package Main;
import [Link];
public class Ejecutable {
public static void main(String[] args) {
ArrayList<Pelicula> peliculas = new ArrayList<Pelicula>();
[Link](new Pelicula("Toy Story", "John Lasseter"));
[Link](new Pelicula("Star Wars: Episodio V", "George Lucas", "Ciencia Ficcion", 124, 1980));
[Link](new Pelicula("Kill Bill", "Quentin Tarantino", "Accion", 111, 2003));
[Link](new Pelicula("El Secreto de sus Ojos", "Jose Campanella"));
[Link](new Pelicula("El Padrino", "Francis Coppola", "Drama", 175, 1972));
ArrayList<Serie> series = new ArrayList<Serie>();
[Link](new Serie("Game of Thrones", "David Benioff - D. B. Weiss", "Fantasia", 60, 8));
[Link](new Serie("The Walking Dead", "Frank Darabont", "Terror", 40, 11));
[Link](new Serie("Friends", "Marta Kauffman"));
[Link](new Serie("The Mandalorian", "Jon Favreau", "Ciencia Ficcion", 40, 3));
[Link](new Serie("Andor", "Tony Gilroy"));
// Marcar vistos peliculas y series
[Link](1).marcarVisto();
[Link](3).marcarVisto();
[Link](4).marcarVisto();
[Link](0).marcarVisto();
[Link](3).marcarVisto();
// Mostrar peliculas vistas
[Link]("Peliculas vistas");
for (Pelicula pelicula : peliculas) {
// Si la pelicula fue vista, muestro informacion
if ([Link]()) {
[Link]([Link]() + "\t" + [Link]() + " minutos");
}
[Link]("\nSeries vistas");
for (Serie serie : series) {
// Si la pelicula fue vista, muestro informacion
if ([Link]()) {
[Link]([Link]() + "\t" + [Link]() + " minutos");
}
}
try {
// Mostrar la pelicula mas reciente y la serie con mas temporadas
Pelicula masReciente = new Pelicula();
Serie mayorTemporada = new Serie();
for (Pelicula pelicula : peliculas) {
// Si el ano de la pelicula es mayor a la mas reciente, la pelicula sera la mas
// reciente
if ([Link]() > [Link]())
masReciente = pelicula;
}
[Link]();
for (Serie serie : series) {
// Si la serie tiene mas temporadas que mayorTemporada, la serie sera
// mayorTemporada
if ([Link]() > [Link]())
mayorTemporada = serie;
}
// Imprimo la informacion
[Link]("Pelicula mas reciente");
[Link]([Link]());
[Link]("Serie con mas temporadas");
[Link]([Link]());
} catch (Exception e) {
[Link]();
}
}
}
[Link]
package Main;
public interface Visualizable {
public void marcarVisto();
public boolean esVisto();
public int tiempoVisto();
}
[Link]
package Main;
public class Contenido implements Visualizable {
private String nombre;
private String genero;
private String creador;
private int duracion;
private boolean visto = false;
// Constructor default
public Contenido() {
public Contenido(String nombre, String creador) {
[Link] = nombre;
[Link] = creador;
}
public Contenido(String nombre, String creador, String genero, int duracion) {
[Link] = nombre;
[Link] = creador;
[Link] = genero;
[Link] = duracion;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
[Link] = nombre;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
[Link] = genero;
}
public String getCreador() {
return creador;
}
public void setCreador(String creador) {
[Link] = creador;
}
public int getDuracion() {
return duracion;
}
public void setDuracion(int duracion) {
[Link] = duracion;
}
@Override
public String toString() {
return "Nombre: " + [Link] + "\n" +
"Genero: " + [Link] + "\n" +
"Creador: " + [Link] + "\n" +
"Duracion: " + [Link] + " minutos" + "\n";
@Override
public void marcarVisto() {
[Link] = true;
}
@Override
public boolean esVisto() {
return [Link];
}
@Override
public int tiempoVisto() {
// TODO Auto-generated method stub
return [Link];
}
}
[Link]
package Main;
public class Pelicula extends Contenido {
private int fecha = 0; // año de la pelicula
// constructor default
public Pelicula() {
super();
}
public Pelicula(String nombre, String creador) {
super(nombre, creador);
}
public Pelicula(String nombre, String creador, String genero, int duracion, int fecha) {
super(nombre, creador, genero, duracion);
[Link] = fecha;
}
public int getFecha() {
return fecha;
}
public void setFecha(int fecha) {
[Link] = fecha;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return [Link]() + "Año: " + [Link] + "\n";
}
}
[Link]
package Main;
public class Serie extends Contenido {
private int temporadas = 1;
// constructor default
public Serie() {
super();
}
public Serie(String nombre, String creador) {
super(nombre, creador);
}
public Serie(String nombre, String creador, String genero, int duracion, int temporadas) {
super(nombre, creador, genero, duracion);
[Link] = temporadas;
}
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
[Link] = temporadas;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return [Link]() + "Temporadas: " + [Link] + "\n";
}