Você está na página 1de 1

Exerccio de programao orientada a objetos em Java - Imobiliria O objetivo deste exerccio praticar os conceitos de herana, sobrescrita de mtodos e polimorfismo

o programando um sistema simplificado para gerenciamento de uma imobiliria. No necessrio se preocupar com interface grfica para o usurio final, o objetivo neste momento apenas exercitar os conceitos de programao. Enunciado Voc precisar de uma classe para representar a imobiliria. Em uma imobiliria havero vrios imveis, e voc deve pensar em como resolver este problema no nvel da programao (como armazenar vrios imveis na memria). Os imveis podem ser de vrios tipos, tais como: casa, apartamento, stio, terreno, etc. Pense nas caractersticas (atributos) que cada tipo de imvel ter. Deve ser possvel adicionar um novo imvel na imobiliria. Todo os imveis devem ter um mtodo para exibir os seus detalhes. Este mtodo retornar apenas uma String contendo os dados do imvel. Entretanto, os detalhes de um stio so diferentes dos detalhes de um apartamento. Sendo assim, existe a necessidade de que cada imvel possua uma implementao diferente do mtodo que exibe os dados do imvel. Ou seja, a classe que representa um apartamente exibe os dados de um apartamento, j a classe que representa um stio exibe os dados de um stio, e assim por diante. Pense em uma soluo onde um mtodo com o mesmo nome seja usado por todas as classes que representam os imveis, mas que em cada caso (cada tipo de imvel) este mtodo tenha uma implementao diferente e adequada para cada situao. A classe que representar a imobiliria dever ser capaz de exibir os detalhes de todos os imveis que esto cadastrados. Ateno neste ponto do exerccio: a classe imobiliria no precisa saber com que tipo de imvel ela est lidando no momento de exibir os detalhes de um imvel, ela deve saber apenas que trata-se de um imvel. A classe que representa a imobiliria vai exibir os detalhes de todos os imveis invocando um mtodo que deve existir em todos os imveis, independentemente do tipo (apartamento, casa, stio, etc.). Cada imvel retorna uma string contendo a sua descrio. A classe que representa a imobiliria pega esta string e exibe-a, sem saber se so os detalhes de uma casa, ou de um apartamento, ou de qualquer outra coisa que seja um imvel. Veja que esta soluo garante que se voc criar um outro tipo de imvel voc poder adicion-lo na imobiliria e exibir seus detalhes sem alterar o cdigo. Para exibir os detalhes de um imvel interessante fazer um mtodo onde voc passa um imvel como parmetro e o mtodo exibe os detalhes deste imvel. Qual seria o tipo do parmetro neste caso? public function mostraDadosDoImovel ( ?? tipo ?? imovelQueSeraExibido){ JOptionPane.showMessgeDialog( .... }