1
resposta

projeto - exercício avançado proposto pela Luri / aula 06 Construtor da classe herdada

*"Claro! Aqui está um exercício mais avançado para você:

Suponha que você esteja desenvolvendo um sistema de gerenciamento de biblioteca e precisa implementar as seguintes classes: Livro, Revista e Artigo.

A classe Livro deve ter os atributos titulo, autor e anoPublicacao. A classe Revista deve ter os atributos titulo, editora e mesPublicacao. A classe Artigo deve ter os atributos titulo, autor e palavrasChave.

Crie os construtores e métodos necessários para cada classe, seguindo as boas práticas de programação. Além disso, implemente um método exibirInformacoes() em cada classe que retorne uma String com todas as informações relevantes do objeto.

Lembre-se de utilizar herança e encapsulamento para garantir a correta estruturação do seu sistema."*

package br.com.alura.editora.bean;

public interface Iinformacao {
    
    public String exibirInformacao();

}
package br.com.alura.editora.bean;

public class Revista implements Iinformacao {

    private String titulo;
    private String editora;
    private String mesPublicacao;

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getEditora() {
        return editora;
    }

    public void setEditora(String editora) {
        this.editora = editora;
    }

    public String getMesPublicacao() {
        return mesPublicacao;
    }

    public void setMesPublicacao(String mesPublicacao) {
        this.mesPublicacao = mesPublicacao;
    }

    @Override
    public String exibirInformacao() {

        return "Revista: " + this.getTitulo() + "\nEditora: " + this.getEditora() + "\nMês de Publicação: "
                + this.getMesPublicacao()
                + "\n.............................................................................\n";
    }

}
package br.com.alura.editora.bean;

public class Artigo implements Iinformacao {

    private String titulo;
    private String autor;
    private String palavraChave;

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public String getPalavraChave() {
        return palavraChave;
    }

    public void setPalavraChave(String palavraChave) {
        this.palavraChave = palavraChave;
    }

    @Override
    public String exibirInformacao() {

        return "Artigo: " + this.getTitulo() + "\nAutor: " + this.getAutor() + "\nPlavra Chave: "
                + this.getPalavraChave()
                + "\n.............................................................................\n";
    }

}
package br.com.alura.editora.bean;

public class Livro implements Iinformacao {

    private String titulo;
    private String autor;
    private int anoDePublicacao;

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public int getAnoDePublicacao() {
        return anoDePublicacao;
    }

    public void setAnoDePublicacao(int anoDePublicacao) {
        this.anoDePublicacao = anoDePublicacao;
    }

    @Override
    public String exibirInformacao() {

        return "Livro: " + this.getTitulo() + "\nAutor: " + this.getAutor() + "\nAno da publicação: "
                + this.getAnoDePublicacao()
                + "\n.............................................................................\n";

    }

}
package br.com.alura.editora.main;

import br.com.alura.editora.bean.Artigo;
import br.com.alura.editora.bean.Livro;
import br.com.alura.editora.bean.Revista;

public class TesteMain {

    public static void main(String[] args) {

        System.out.println("\n.............................................................................\n");

        Livro livro = new Livro();

        livro.setAutor("C.S.Lewis");
        livro.setTitulo("As Cronicas de Narnia - O Leão, a Feiticeira e o Guarda Roupas");
        livro.setAnoDePublicacao(2002);
        System.out.println(livro.exibirInformacao());

        Artigo artigo = new Artigo();

        artigo.setAutor("C.S.Lewis");
        artigo.setTitulo("O propósito princípal do ser humano");
        artigo.setPalavraChave("Lewis");
        System.out.println(artigo.exibirInformacao());

        Revista revista = new Revista();

        revista.setTitulo("Batman - O cavaleiro das Trevas");
        revista.setMesPublicacao("janeiro");
        revista.setEditora("Panini");
        System.out.println(revista.exibirInformacao());

    }

}
1 resposta

Olá Paulo, tudo bem com você?

Que interessante ver você utilizando a Luri para alavancar seus estudos. Obrigado por compartilhar seu modo de resolução com a comunidade Alura. Seu código está correto.

Continue praticando e conte com a Alura nesta jornada. Abraços e bons estudos!