Este projeto é uma implementação simples em Java POO que simula algumas funcionalidades básicas de um serviço de streaming de música, inspirado no Spotify.
Ele foi desenvolvido para treinar conceitos de Programação Orientada a Objetos como encapsulamento, herança e polimorfismo.
Representa o usuário da aplicação.
- É responsável por gerenciar suas playlists e acessar o catálogo de mídias.
Simula uma playlist criada pelo usuário.
- É responsável por armazenar e organizar mídias (músicas, podcasts, etc.).
Representa o catálogo geral de mídias disponíveis.
- É responsável por centralizar todas as mídias cadastradas no sistema, permitindo que os usuários encontrem e adicionem às suas playlists.
Classe abstrata que representa uma mídia genérica.
- É responsável por definir atributos comuns (como título, artista, duração).
- Serve de base para outras classes específicas.
Representa uma música.
- É responsável por especializar os atributos da classe
Midiapara o contexto musical (álbum, gênero, etc.).
Representa um podcast.
- É responsável por armazenar episódios e informações adicionais sobre programas de áudio.
- Java 17+
- Paradigma de Programação Orientada a Objetos
- Coleções (
ArrayList) para armazenar e manipular dados - Pacotes para organização do código
- Encapsulamento: atributos privados e métodos públicos de acesso.
- Herança:
MusicaePodcastherdam deMidia. - Polimorfismo: tratamento genérico de diferentes tipos de mídias.
- Abstração:
Midiacomo classe base genérica.