DIO - Trilha Java Básico
Neste desafio, você será responsável por modelar e diagramar a representação UML do componente iPhone(com base no vídeo de lançamento do iPhone de 2007), abrangendo suas funcionalidades como Reprodutor Musical, Aparelho Telefônico e Navegador na Internet.
- Reprodutor Musical
- Métodos:
tocar()
,pausar()
,selecionarMusica(String musica)
- Métodos:
- Aparelho Telefônico
- Métodos:
ligar(String numero)
,atender()
,iniciarCorreioVoz()
- Métodos:
- Navegador na Internet
- Métodos:
exibirPagina(String url)
,adicionarNovaAba()
,atualizarPagina()
- Métodos:
- Criar um diagrama UML que represente as funcionalidades descritas acima.
- Implementar as classes e interfaces correspondentes em Java (Opcional).
classDiagram
class ReprodutorMusical {
<<interface>>
+tocar()
+pausar()
+selecionarMusica(String musica)
}
class AparelhoTelefonico {
<<interface>>
+ligar(String numero)
+atender()
+iniciarCorreioVoz()
}
class NavegadorInternet {
<<interface>>
+exibirPagina(String url)
+adicionarNovaAba()
+atualizarPagina()
}
class iPhone {
+tocar()
+pausar()
+selecionarMusica(String musica)
+ligar(String numero)
+atender()
+iniciarCorreioVoz()
+exibirPagina(String url)
+adicionarNovaAba()
+atualizarPagina()
}
iPhone ..|> ReprodutorMusical
iPhone ..|> AparelhoTelefonico
iPhone ..|> NavegadorInternet
// ReprodutorMusical.java
public interface ReprodutorMusical {
void tocar();
void pausar();
void selecionarMusica(String musica);
}
// AparelhoTelefonico.java
public interface AparelhoTelefonico {
void ligar(String numero);
void atender();
void iniciarCorreioVoz();
}
// NavegadorInternet.java
public interface NavegadorInternet {
void exibirPagina(String url);
void adicionarNovaAba();
void atualizarPagina();
}
// iPhone.java
public class iPhone implements ReprodutorMusical, AparelhoTelefonico, NavegadorInternet {
// Implementação dos métodos de ReprodutorMusical
@Override
public void tocar() {
System.out.println("Reproduzindo música.");
}
@Override
public void pausar() {
System.out.println("Música pausada.");
}
@Override
public void selecionarMusica(String musica) {
System.out.println("Música selecionada: " + musica);
}
// Implementação dos métodos de AparelhoTelefonico
@Override
public void ligar(String numero) {
System.out.println("Ligando para: " + numero);
}
@Override
public void atender() {
System.out.println("Atendendo chamada.");
}
@Override
public void iniciarCorreioVoz() {
System.out.println("Iniciando correio de voz.");
}
// Implementação dos métodos de NavegadorInternet
@Override
public void exibirPagina(String url) {
System.out.println("Exibindo página: " + url);
}
@Override
public void adicionarNovaAba() {
System.out.println("Nova aba adicionada.");
}
@Override
public void atualizarPagina() {
System.out.println("Página atualizada.");
}
}