Exercício: Modelagem DVD
Exercício: Modelagem DVD
adaptado de [1]
Utilizando os conhecimentos de O.O. construa um programa utilizando as informações abaixo. As características de um Aparelho de DVD devem ser definidas de acordo com as informações a seguir. Ao ser criado o Aparelho de DVD inicialmente está desligado. Seu volume pode alterar de 1 a 5 sendo que o nível inicial é 2. É possível inserir um filme no Aparelho de DVD. O filme possui as seguintes caraterísticas: nome, categoria e duração.
As seguintes operações podem ser realizadas pelo Aparelho de DVD:
- ligar e desligar;
- aumentar e diminuir volume;
- inserir filme;
- remover filme;
- play e stop.
O programa deve obedecer as seguintes regras:
- Só é possível fazer qualquer uma destas operações se o Aparelho de DVD estiver ligado;
- Só é possível dar play no Aparelho de DVD se existir algum filme inserido;
- Só é possível inserir um Filme se não tiver um Filme ja dentro do Aparelho de DVD;
- Só é possível dar stop se o Aparelho de DVD estiver em play;
- Ao dar play deve aparecer o nome e a duração do filme que está sendo exibido.
Escreva o diagrama UML da classe Aparelho de DVD e implemente o código em Java para construir 1 Aparelho de DVD e 3 filmes diferentes, utilizando o construtor e os métodos definidos e inserir um filme no Aparelho de DVD.
Link para entrega
Detalhe
public class Filme {
String nome;
String categoria;
float duracao;
}public class AparelhoDVD {
boolean ligado;
int volume;
Filme filme;
boolean emPlay;
AparelhoDVD() {
ligado = false;
volume = 2;
filme = null;
emPlay = false;
}
boolean ligar(){
ligado = true;
return ligado;
}
boolean desligar(){
ligado = false;
return ligado;
}
int aumentarVolume(){
if (ligado) {
if (volume < 5) {
volume++;
}
}
return volume;
}
int diminuirVolume(){
if ((volume > 1) && (ligado)) {
volume--;
}
return volume;
}
void inserirFilme(Filme filme){
if (ligado) {
this.filme = filme;
}
}
Filme removerFilme(){
Filme filmeQueEstava = null;
if (ligado) {
filmeQueEstava = this.filme;
this.filme = null;
}
return filmeQueEstava;
}
String play(){
if (ligado) {
if(filme!= null){
emPlay = true;
//Ao dar play deve aparecer o nome e a duração do filme que está sendo exibido
return String.format("Filme: %s, Duração:%s", filme.nome,filme.duracao);
}
}
return null;
}
void stop(){
if ((ligado) && (emPlay)) {
emPlay = false;
}
}
}Filme f1 = new Filme();
f1.nome = "It";
f1.categoria = "Terror";
f1.duracao = 123000;
f1 REPL.$JShell$12$Filme@46c7f237
AparelhoDVD dvd = new AparelhoDVD();
dvd.ligar();
dvd.inserirFilme(f1);
dvd.play(); Filme: It, Duração:123000.0
Filme filmeRemovido = dvd.removerFilme();
String.format("Filme Removido: %s, Duração:%s", filmeRemovido.nome,filmeRemovido.duracao); Filme Removido: It, Duração:123000.0
Takenami, Igor. Introdução a Programação Orientada a Objetos. Salvador. 2011. (Apostila). ↩︎