Oi companheiros sou novo aqui no fórum e estou iniciando em java.
Estou com duvida em um programa no que diz respeito a classes abstratas,La vai o caso:
Em um package chamado Principal ,criar uma classe chamada proprietário nela terá codigo:int ,nome:String e imovel: Imovel,e os métodos inscreverImovel (imovel:Imovel):void que deve identificar se o proprietário já possui um imóvel (imovel !=null) ele dispara uma mensagem de dizendo que proprietário já possui imóvel ,e o método listarImovel():void ,e o código devera ser um número seqüencial.
Em outro package chamado secundaria temos a classe abstrata Imovel com codLocalizacao:int,descricao:String ,valorUnidade:float e area:float, nela temos o método calcularImposto():float.Temos as subclasses Urbano com iptu:String e a classe Rural com itr:String e fatorRural:float cada uma tem o seu método calcularImpostos().
A classe Imovel,Rural e Urbano eu consegui fazer ok, mais minha duvida ficou no método inscreverImovel() do Proprietario ja que não tem como eu chamar um construtor de Imovel já que o mesmo e abstrato .Poderiam me dizer uma forma de fazer esse método;
Muito obrigado lelodois pelo esclarecimento…nunca tinha usado o Enum ,mais minha duvida seria em como criar o método inscreverImovel dentro da Classe Proprietario da seguinte maneira:
package principal;
import secundario.*;
public class Proprietario extends Imovel
{
privateStringnome;privateintcodigo=0;privateImovelimovel;//Não sei se está certo dessa maneirapublicProprietario(){codigo=codigo++;//para o cod ser gerado altomaticamente e seguencialmenteimovel=newImovel();//Essa parte está errada pois classes abstratas não possuem construtor ou daria certo??}publicProprietario(Stringnome)//{this();this.nome=nome;}publicStringsetNome(){returnnome;}publicStringgetNome(){returnnome;}publicintgetCodigo(){returncodigo;}publicImovelgetImovel(){returnimovel;//não sei se funciona dessa forma.}publicvoidInscreverImovel(){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{returnSystem.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.}}
}
lelodois
Olá velhinho…
Orientação a objetos deve ser estudada antes de implementada…
Olhe a apostila FJ11, é muito esclarecedora e possui um ótimo conteúdo sobre este assunto.
Com a apostila que o amigo lelodois me passou o link consegui desenvolver as classes agora está dando um erro: Exception in thread “main” java.lang.NullPointerException
at principal.Questao2.main(Questao2.java:30)
alguem poderia me dizer aonde está o erro ja pesquisei e revisei meu cod mais não identifiquei.