Está en la página 1de 7

Diagrama de Clases

Fox Clase
getTitulo(); Padre
getGenero();
getCreador();
getDuracion();
Clase getVisto(); Clase
Hija Hija

Películas Series
getAño(); getNo_temporadas();

Interfaz

Visualizable
marcarVisto()
esVisto()
tiempoVisto()
Código Ejecutable
Clase Película (hija)

//package com.angelgallo.t2;

public class Pelicula extends Fox implements Visualizable{


//atributos
private int año;
public Pelicula(String titulo, String genero, String creador, int
duracion, int año) {
super(titulo, genero, creador, duracion);
this.año=año;//sobreescribo el método

public int getAño() {


return año;
}
public void setAño(int año) {
this.año = año;

//Sobreescribo el método toString


@Override
public String toString() {
return "Pelicula [año=" + año + ", Titulo=" + getTitulo() + ",
Genero=" + getGenero()
+ ", Creador=" + getCreador() + ", Duracion=" +
getDuracion() + ", Visto=" + getVisto()
+ "]";
}

@Override
public void marcarVisto(int tiempoVis) {
// TODO Auto-generated method stub
setVisto(true);
setTiempoVis(tiempoVis) ;
}

@Override
public boolean esVisto() {
// TODO Auto-generated method stub
return getVisto();
}

@Override
public int tiempoVisto() {
// TODO Auto-generated method stub
return getTiempoVis();
}

Clase Serie (hija)

//package com.angelgallo.t2;

public class Serie extends Fox implements Visualizable{


//atributos
private int no_temporadas=1;
public Serie(String titulo, String genero, String creador, int duracion,
int no_temporadas) {
super(titulo, genero, creador, duracion);
// TODO Auto-generated constructor stub
this.no_temporadas=no_temporadas;
}

public int getNo_temporadas() {


return no_temporadas;
}
public void setNo_temporadas(int no_temporadas) {
this.no_temporadas = no_temporadas;
}

//Sobreescribo el método toString


@Override
public String toString() {
return "Serie [no_temporadas=" + no_temporadas + ", Titulo=" +
getTitulo() + ", Genero=" + getGenero()
+ ", Creador=" + getCreador() + ", Duracion=" +
getDuracion() + ", Visto=" + getVisto()
+ "]";
}

@Override
public void marcarVisto(int tiempoVis) {
// TODO Auto-generated method stub
setVisto(true);
setTiempoVis(tiempoVis) ;
}

@Override
public boolean esVisto() {
// TODO Auto-generated method stub
return getVisto();
}
@Override
public int tiempoVisto() {
// TODO Auto-generated method stub
return getTiempoVis();
}

Clase Fox (padre)

//package com.angelgallo.t2;

public class Fox {


private String titulo;
private String genero;
private String creador;
private int duracion;
private Boolean visto;
private int tiempoVis = 0;

public Fox(String titulo, String genero, String creador, int duracion)


{//elementos obligatorios
this.titulo=titulo;
this.genero=genero;
this.creador=creador;
this.duracion=duracion;
this.visto=false;
}

public int getTiempoVis() {


return tiempoVis;
}

public void setTiempoVis(int tiempoVis) {


this.tiempoVis = tiempoVis;
}

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 getVisto() {
return visto;
}
public void setVisto(Boolean visto) {
this.visto = visto;
}

public void mostrarPeli(String nombreClase) {


//lo primero quese imrpimie es el nombre de la clase
if (visto==false) {
this.visto=false;
}else {
System.out.println("");
System.out.println(nombreClase);
System.out.println("titulo: " + titulo);
System.out.println("Visualizada: "+ tiempoVis + " [min]" + "
de " + duracion + " [min]");
System.out.println("Vista: "+ "Si");

Visualizable Interfaz

//package com.angelgallo.t2;

public interface Visualizable {


public void marcarVisto(int tiempoVis);//cambia 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ó videos

}
Ejecutable
//package com.angelgallo.t2;

import java.util.ArrayList;//importo Arraylist para crear lista de películas y


series

public class Ejecutable {


public static void main(String[] args) {
int c=1;//declaro constante
ArrayList<Pelicula> miListPelis = new ArrayList<Pelicula>();
ArrayList<Serie> miListSeries = new ArrayList<Serie>();

//Creación de un objeto en cada posición del ArrayList


miListPelis.add(new Pelicula("El Aro","Terror", "Koji Suzuki",
145 , 2002));
miListPelis.add(new Pelicula("El Conjuro","Terror", "James Wan",
110 ,2013));
miListPelis.add(new Pelicula("Batman","Acción","Christopher Nolan",
140 , 2005));
miListPelis.add(new Pelicula("Shrek","Infantil", "Andrew Adamson",
95 , 2001));
miListPelis.add(new Pelicula("El Padrino I","Crimen", "Francis Ford
Coppola", 178 , 1972));

miListSeries.add(new Serie("Friends","Comedia", "Marta Kauffman",


3400, 10));
miListSeries.add(new Serie("Casa de papel","Crimen", "Alex Pina",
1200, 4));
miListSeries.add(new Serie("Juego de tronos","Ficción", "George R.
R. Martin", 3200, 8));
miListSeries.add(new Serie("El Cartel","Crimen", " Andrés López
López", 1600, 2));
miListSeries.add(new Serie("Small Ville","Acción", " Alfred Gough",
4500, 8));

//Marco como vistas 3 películas y 3 series y específico un tiempo de


visualziación para cada uno
miListPelis.get(0).marcarVisto(145);
miListPelis.get(1).marcarVisto(110);
miListPelis.get(4).marcarVisto(160);

miListSeries.get(0).marcarVisto(2500);
miListSeries.get(3).marcarVisto(800);
miListSeries.get(4).marcarVisto(3000);

//llamar al método mostrar Peli para mostrar películas y series


vistas

for (Pelicula a: miListPelis) {


a.mostrarPeli("Pelicula " + c);
c++;
}
int c2=1;

for (Serie b: miListSeries) {


b.mostrarPeli("Serie " + c2);
c2++;
}

//Encuentro serie con más temporadas y Pelíucla mas reciente en my


ArrayList
//accesando a los atributos no_temporadas y año de cada objeto
int cont = 0;
for (int i = 0; i < 5; i++) {
if (miListSeries.get(i).getNo_temporadas() >
miListSeries.get(cont).getNo_temporadas()) {
cont = i;
}
}
System.out.println("");
System.out.println("Serie con más Temporadas" );
System.out.println(miListSeries.get(cont));

int cont2 = 0;
for (int i = 0; i < 5; i++) {
if (miListPelis.get(i).getAño() >
miListPelis.get(cont).getAño()) {
cont2 = i;
}
}
System.out.println("");
System.out.println("Película más reciente" );
System.out.println(miListPelis.get(cont2));

}
}

También podría gustarte