Duvida Herança vol.2

3 respostas
S

Em um Caso onde existem duas packages principal e secundaria,na package secundaria existem as classes Imovel que e abstrata e suas classes filhos Urbano e Rural.Na package principal existe a classe Proprietario.

As classes da package secundaria (Imovel ,Urbano e Rural) eu consegui construir e compilar normalmente.

Na classe Proprietário tem o método InscreverImovel(Imovel imovel),que deve ser construido da seguinte maneira:

"O método InscreverImovel(Imovel imovel) atribui um imovel a um proprietario, caso esté proprietario não possua um ,ou seja (imovel !=null) caso contrario dispara a mensagem “[Nome do proprietário] já possui um imovel [Descrição do Imovel]”.

Ai vem minha duvida em como atribuir o imovel ao proprietário já que o mesmo é abstrato . eu pensei em fazer da seguinte forma:

public void InscreverImovel()

{

if(imovel!=null) //verifica se o proprietario possui um imóvel

{

//aqui está a duvida de como inscrever um imóvel e de como dizer se é Urbano ou Rural

}

else

{

return System.out.printf("%s ,já possui o imovel %s",this.getNome(),imovel.getNome());//caso já possua um imóvel devolver a mensagem com o nome do proprietário e o nome do imóvel.

}

}

Alguem poderia me dar uma ajuda ou me indicar exemplos de métodos semelhantes.

3 Respostas

rmendes08

O método inscreverImovel(Imovel imovel) recebe um imóvel como argumento, basta atribuir este argumento à variável de instância é tá tudo certo, não interessa se é proprietário ou rural.

S

Desculpe não entendi ,você poderia dar um exemplo??

rafaelbortoletto

Olá,

Pelo que eu entendi um Proprietario possui um imóvel, certo? Então, na sua classe proprietario ela deve ter um atributo do tipo Imovel.

Logo, quando você for inscrever o Imóvel vai estar passando o Imóvel inscrito para o proprietario que deve ter esse método inscreveImovel(Imovel imovel)

Na classe proprietario tambem deve ter um método de verificaSeExisteImovelInscrito que retorna verdadeiro caso já tenha inscrito ou falso caso não tenha nada. Seria mais ou menos assim dependendo de como você implementou as classes o seu sistema:

public class Proprietario{

  // atributos
   private Imovel meuImovel;


  public void inscreveImovel(Imovel imovel){
  
           if( imovel != null){
               if( !verificaSeExisteImovelInscrito() ){

                           this.meuImovel = imovel;
               }
                else{
                           System.out.println( "O proprietario "+ this.nome +" possui o imovel inscrito "+imovel.getDescricao() );
                }
           }
     }

 public boolean verificaSeExisteImovelInscrito(){

            if( this.meuImovel != null ){

                 return true;
           }
           else{
                  return false;
          }
}
}
Criado 23 de abril de 2011
Ultima resposta 24 de abr. de 2011
Respostas 3
Participantes 3