Está en la página 1de 6

Proyecto de semana 2: Netflix

Código de clases
Clase Película

package com.fsanchez.Netlix;

public class Pelicula extends Video implements IVisualizable{

private int anio;

//*********** constructor por default


public Pelicula() {
super();
this.anio = 1978;

// Un constructor con el titulo y creador. Los demás campos


// tendrán su valor default por tipo de dato.
// Visto tendrá false por defecto.
public Pelicula(String titulo, String creador) {
super(titulo, creador);
}

// Un constructor con todos los atributos, excepto visto.


public Pelicula(String titulo, String creador, String genero, int anio, int duracion) {
super(titulo, creador, genero, duracion);
this.anio = anio;

public int getAnio() {


return anio;
}

public void setAnio(int anio) {


this.anio = anio;
}

public String toString() {


String datos = super.toString()+"\n";
datos = datos+"Año:"+ anio;
return datos;
}
}

Clase Serie

package com.fsanchez.Netlix;

public class Serie extends Video implements IVisualizable{

private int noTempo;

//*********** constructor por default


public Serie() {
super();
this.noTempo = 1;

// Un constructor con el titulo y creador. Los demás campos tendrán


// su valor default por tipo de dato.
public Serie(String titulo, String creador) {
super(titulo, creador);

// Un constructor con todos los atributos, excepto visto.


public Serie(String titulo, String creador, int noTempo, String genero, int
duracion) {
super(titulo, creador,genero,duracion);
this.noTempo = noTempo;
}

public int getNoTempo() {


return noTempo;
}

public void setNoTempo(int noTempo) {


this.noTempo = noTempo;
}

@Override
public String toString() {
// TODO Auto-generated method stub
String datos = super.toString()+"\n";
datos = datos + "Num de Temporadas:"+ noTempo ;
return datos;
}

Clase Video

package com.fsanchez.Netlix;

public class Video {


private String titulo;
private String genero;
private String creador;
private int duracion;
private boolean visto;

// constructor por deafult


public Video() {
this.titulo="";
this.genero = "";
this.creador = "";
this.duracion = 0;
this.visto = false;
}
// Un constructor con el titulo y creador. Los demás campos
// tendrán su valor default por tipo de dato.
// Visto tendrá false por defecto.
public Video(String titulo, String creador) {
this.titulo = titulo;
this.creador = creador;
}
// Un constructor con todos los atributos, excepto visto.
public Video(String titulo, String creador, String genero,int duracion) {
this.titulo =titulo;
this.creador= creador;
this.genero = genero;
this.duracion = duracion;
}

public String getTitulo() {


return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
public String getCreador() {
return creador;
}
public void setCreador(String creador) {
this.creador = creador;
}
public int getDuracion() {
return duracion;
}
public void setDuracion(int duracion) {
this.duracion = duracion;
}
public boolean isVisto() {
return visto;
}
public void setVisto(boolean visto) {
this.visto = visto;
}

public String toString() {


String datos = "Titulo:" + titulo + "\n"+ "Creador:" + creador +"\n";
datos = datos + "Genero:" + genero + "\n"+ "Duracion:" + duracion +"\n";

if(visto) {
datos = datos + "Visto: SI"+"\n";
}
else {
datos = datos + "Visto: NO"+"\n";
}
return datos;
}

public void marcarVisto() {


// TODO Auto-generated method stub
this.visto = true;
}

public boolean esVisto() {


// TODO Auto-generated method stub
return visto;
}

public int tiempoVisto() {


// TODO Auto-generated method stub
return duracion;

Clase IVisualizable

package com.fsanchez.Netlix;

public interface IVisualizable {


public void marcarVisto(); // cambia el atributo de visto a true
public boolean esVisto(); // devuelve el estado del atributo visto
public int tiempoVisto(); // devuelve el tiempo en minutos/segundos que se visualizó el
video

Clase Principal

package com.fsanchez.Netlix;

public class Principal {

public static void main(String[] args) {


// TODO Auto-generated method stub
Pelicula[] peliculas = new Pelicula[5];
Serie[] series = new Serie[5];

peliculas[0]= new Pelicula(" La casa nueva","Jorge matrinez","Terror",2000,130);


peliculas[1]= new Pelicula(" La camisa negra","Martin Gomez","Drama",1991,120);
peliculas[2]= new Pelicula(" El regreso","Julieta Villas","Drama",2010,140);
peliculas[3]= new Pelicula(" La Bruja","Jose Salas","Terror",2011,110);
peliculas[4]= new Pelicula(" El gato Negro","Edgar Portillo","Comica",2001,100);

series[0]= new Serie("Dark","Luis Aleman",4,"Drama",150);


series[1]= new Serie("Amigos","Brad Miller",5,"Comica",140);
series[2]= new Serie("Flores en la casa","Veronica Castillo",3,"Drama",130);
series[3]= new Serie("El salón de clases","Javier Loza",4,"terror",170);
series[4]= new Serie("En línea","Roberto Jaramillo",2,"Drama",100);

// marcar como vistas;


peliculas[1].marcarVisto();
peliculas[3].marcarVisto();

series[0].marcarVisto();
series[4].marcarVisto();

// peliculas y series vistas:


System.out.println("======== Peliculas y series vistas=======");

for(int i=0;i<5;i++) {
if(peliculas[i].esVisto()) {
System.out.println("Pelicula: "+peliculas[i].getTitulo()+ "
"+"Duracion:"+peliculas[i].getDuracion()+"minutos");
}
if(series[i].esVisto()) {
System.out.println("Serie: "+series[i].getTitulo()+ "
"+"Duracion:"+series[i].getDuracion()+" minutos");
}

}
/*
// lista de peliculas ++++++++++++++++++
for(int i=0;i<5;i++) {
System.out.println(peliculas[i].toString());
}
// lista de series
for(int i=0;i<5;i++) {
System.out.println(series[i].toString());
}
*/

//Serie con más temporadas y la película del año más reciente.


int SerieMasT = 0;
int PelMasR = 0;
int nTemp = series[0].getNoTempo();
int year = peliculas[0].getAnio();
for(int i=0; i<5; i++) {
// indice de la película más reciente
if(peliculas[i].getAnio() > year) {
year = peliculas[i].getAnio();
PelMasR = i;
}
// indice de la serie con más temporadas
if(series[i].getNoTempo()> nTemp) {
nTemp = series[i].getNoTempo();
SerieMasT = i;
}
}
// Se muestra la informacion
System.out.println("===================================");
System.out.println("**** Película más reciente **** ");
System.out.println(peliculas[PelMasR ].toString());
System.out.println(""); // Para hacer un salto de línea
System.out.println("**** Serie con más temporadas **** ");
System.out.println(series[SerieMasT ].toString());
}

Diagrama de Clases (UML)

También podría gustarte