Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Gerenciamento de biblioteca

package br.com.biblioteca;

public class Midia {
    private String titulo;
    private int publicacao;

    public Midia(String titulo, int publicacao) {
        this.titulo = titulo;
        this.publicacao = publicacao;
    }

    public String getTitulo() {
        return titulo;
    }

    public int getPublicacao() {
        return publicacao;
    }

    public String gerarCodigo() {
        return "LIB-" + titulo.substring(0,3) + publicacao;
    }

    public void exibirInfo() {
        System.out.println("Código: " + gerarCodigo() + " | Título: \"" + titulo + "\"");
    }
}
package br.com.biblioteca;

public class Livro extends Midia{
    private String autor;

    public Livro(String titulo, int publicacao, String autor) {
        super(titulo, publicacao);
        this.autor = autor;
    }

    @Override
    public void exibirInfo() {
        System.out.println("Código: " + gerarCodigo() + " | Livro: \"" + getTitulo() + "\" - Autor: " + autor);
    }
}
package br.com.biblioteca;

public class Revista extends Midia {
    private int edicao;

    public Revista(String titulo, int publicacao, int edicao) {
        super(titulo, publicacao);
        this.edicao = edicao;
    }

    @Override
    public void exibirInfo() {
        System.out.println("Código: " + gerarCodigo() + " | Revista: \"" + getTitulo() + "\" - Edição: " + edicao);
    }
}
package br.com.biblioteca;

public class Ebook extends Midia {
    private String formato;

    public Ebook(String titulo, int publicacao, String formato) {
        super(titulo, publicacao);
        this.formato = formato;
    }

    @Override
    public void exibirInfo() {
        System.out.println("Código: " + gerarCodigo() + " | Ebook: \"" + getTitulo() + "\" - Formato: " + formato);
    }
}
package br.com.biblioteca;

public class Principal {
    public static void main(String[] args) {

        Midia livro = new Livro("O Guia do Mochileiro das Galáxias", 1979, "Douglas Adams");
        Midia revista = new Revista("National Geographic", 2023, 245);
        Midia ebook = new Ebook("Clean Code", 2008, "PDF");

        livro.exibirInfo();
        revista.exibirInfo();
        ebook.exibirInfo();
    }
}

Saída:

Código: LIB-O G1979 | Livro: "O Guia do Mochileiro das Galáxias" - Autor: Douglas Adams
Código: LIB-Nat2023 | Revista: "National Geographic" - Edição: 245
Código: LIB-Cle2008 | Ebook: "Clean Code" - Formato: PDF
1 resposta
solução!

Olá, Aline! Tudo bem?

Ficou excelente a sua implementação!

Você aplicou perfeitamente o conceito de Polimorfismo: declarou as variáveis como o tipo genérico (Midia), mas instanciou os objetos específicos. É exatamente assim que ganhamos flexibilidade no código.

Continue assim, sua organização está ótima!

Conte sempre com a Alura para evoluir seus estudos.

Bons estudos!

Sucesso

Imagem da comunidade