Avaliação e/ou Correção. Código básico

3 respostas
F

Uma biblioteca possui em seu acervo livros e periódicos. Cada livro tem título e situação; cada
periódico tem título e número do volume. Os periódicos não podem sair da biblioteca, mas os livros sim.
Durante o empréstimo, a situação de um livro é emprestado, quando ele é devolvido, retorna à situação
de disponível.
Sendo assim, uma superclasse Biblioteca e 2 subclasses Livro e Periodicos

Segue os códigos.

public class Biblioteca
{
    private String titulo;
    
    public Biblioteca(String t)
    {
        titulo = t;
    }
  
      
    public String getTitulo(){
        return titulo;
    }

}
public class Livros extends Biblioteca  
{
    private String situacao;
    private boolean aux;
    
    public Livros(String t)
    {
        super(t);
        situacao = "";
        
    }
    
    public String getTitulo(){
        
       return "Título: "+super.getTitulo();

    }
    
    public String estaDisponivel()
    {
        aux = false;
        if(aux == false){
           return situacao = "Livro Disponível";
        }
        else{

           return situacao = "Emprestado";
        }
    }
    
    
}
public class Periodicos extends Biblioteca   
{
    private int numVolume;
    
    public Periodicos(String t, int n)
    {
        
        super(t);
        numVolume = n;
    }
       
    public String getTitulo(){
        return "Título: "+super.getTitulo();
            }
    public String getNumVolume()
    {
        return "Número do volume: "+numVolume;
    }    
}

Como estou começando em java, fiquei em dúvida se ficou faltando algo no código, ou até mesmo alguns erros...

Aceito dicas também.

Obrigado.

3 Respostas

galileu.gt

Comece revisando a estrutura de suas classes.
No caso voce criou a classe Livros e a classe Periodicos a partir de uma classe comum, Biblioteca.

Neste caso, vocês não deveria usar a herança (extends).
A biblioteca “possui” livros e periódicos.

O que voce foi “dizer” livro e periodico são uma biblioteca.
Se voce quiser construir uma classe base para livros/periodicos, crie uma classe chamada talvez de “volume”

A biblioteca deve conter livros e periodicos (Agregação).

Luiz_Aguiar

Pense naturalmente no seu domain… um livro é uma biblioteca ou uma biblioteca possuí livros?

Cria uma interface comum para Livro e Periodico, usar herança só para “economizar” um atributo não é uma boa prática de OO.

[]s

F

galileu.gt:
Comece revisando a estrutura de suas classes.
No caso voce criou a classe Livros e a classe Periodicos a partir de uma classe comum, Biblioteca.

Neste caso, vocês não deveria usar a herança (extends).
A biblioteca “possui” livros e periódicos.

O que voce foi “dizer” livro e periodico são uma biblioteca.
Se voce quiser construir uma classe base para livros/periodicos, crie uma classe chamada talvez de “volume”

Obrigado, vou modificar.

Desculpe-me, mas não compreendi o que vc quis dizer.

Sim, que não é uma boa prática, não é. risos.

Mas faz parte do exercício fazer uma superclasse para o que os Livros e Periodicos tem em comum.

Esse exercício é mais para a prática, pois aressem começamos com esta parte de Herança.

Criado 31 de maio de 2010
Ultima resposta 31 de mai. de 2010
Respostas 3
Participantes 3