[Ajuda] java - Java - Portugal-a-Programar
By rmroc, April 12, 2011 in Java
rmroc 0
boas, antes de mais sou o rmroc e este e o meu primeiro post.
estou aqui pk preciso de ajuda para completar um projecto de java, uso o ambiente BlueJ e o objectivo e criar um roteiro no ambito da cidade de guimaraes capital europeia da cultura 2012, e este projecto insere se numa cadeira de paradigmas da progrmaçao, abaixo vou mostrar um breve resumo do enunciado:
a minha experiencia em java e pouca mas ate me tenho safado nos exercicios de aula, coisas simples e directas, o meu principal problema neste momento e chegar ao diagrama de classes, se houver alguem aqui com experiencia que me possa explicar como começar eu agradecia muito, vou tambem postar em anexo um print daquilo que eu ja fiz com uma breve explicação, desde ja obrigado a quem me poder ajudar e peço desculpa por o post ja ir longo.
Não percebi a parte da dúvida "se a localização não pertence a um evento específico mas a um ponto de interesse", mas para associar um ponto de interesse a um evento, basta ver que um ponto de interesse tem uma ou mais facetas de interesse, sendo que essas facetas podem ser eventos. Agora como implementar isso, pode ser por exemplo, a classe Roteiro ter um Map<PontoInteresse,ArrayList<FacetaInteresse>>, ou seja, ter uma lista de facetas associadas a um ponto de interesse. Também podes ter na própria classe PontoInteresse o ArrayList<FacetaInteresse>, ficando o Roteiro a ser apenas uma lista de pontos, não te sei dizer bem qual será a melhor implementação.
Eu nem sequer tenho uma classe roteiro, eu comecei por ter varias classes cada uma para uma area especifica, exemplo dança musica etc, e escrevi o codigo para sempre que criava um objecto novo nessas classes, sendo um objecto um evento, uma das coisas a especificar era a localizaçao, mas o meu professor nao gostou disso e disse que a localizaçao pertence ao ponto de interesse e nao ao evento em si. neste momento a minha maior dificuldade e como começar isto, quais classes criar, qual a hierarquia entre elas e o k cada uma delas vai fazer. ainda estou a começar a programar em java e nao percebo bem estas coisas so ha uma semana e que comecei a ouvir falar de hierarquia de classes e nao tenho a experiencia necessaria para compreender o enunciado. eu so postei uma parte do enunciado, se nao fosse pedir muito eu enviava-te o enunciado e davas uma vista de olhos e se me conseguisses explicar minimamente como começar a fazer isto era uma grande ajuda.
Sim, a localização geográfica pertence ao ponto de interesse, é definida nas suas coordenadas x e y. Quanto a enviar enunciados, dispenso porque já muito trabalho tenho eu para fazer.
ok tudo bem tb nao te estava a pedir para me fazeres o trabalho, longe disso, so precisava de compreender melhor aquilo que tenho de fazer, ainda assim diz me so se por aquilo que leste no post e viste do k eu estou a fazer se te parece que estou a começar bem aquilo ou nem por isso, obrigado
Só a parte daquelas 5 classes da esquerda é que ainda não tenho a certeza se serão assim tão úteis, visto que são apenas exemplos daquilo que pode ser uma área cultural, mas de resto parece-me bem.
sim aquelas classes sao só exemplos mesmo, em teoria depois aquelas classes vao estar ligadas a classe eterno ou temporario conforme o evento e tenho de criar as restantes para as outras areas, dança etc.
estava a aqui a tentar fazer, e crio pontos de interesse com uma localizaçao x e y mas depois nao consigo associa los a um evento especifico. eu crio um evento e consigo associa lo a classe pontointeresse mas nao ao ponto de interesse especifico que eu quero..
A ligação entre o ponto de interesse e o evento faz-se através da superclasse de evento, que é a FacetaInteresse. Um ponto de interesse tem uma lista/conjunto de facetas de interesse, as quais podem ser eventos. Como o mecanismo de polimorfismo de Java permite atribuir uma instância da classe dos eventos a uma variável do tipo FacetaInteresse, apenas tens de te preocupar em estabelecer a ligação entre esta última e o ponto de interesse.
a ver se percebi entao, mais ao menos isto, imagina-mos que eu crio um evento novo, chamado "ev1", na classe facetainteresse crio um array nesse array insiro o "ev1" e depois daqui ao pontointeresse, nao ja me baralhei todo, desculpa la sei k estas perguntas sao idiotas mas estou perdido..
É mais ou menos isso, talvez em código percebas:
/* Polimorfismo a funcionar: atribuição de uma instância da subclasse
Temporario (os tais "eventos") a uma variável do tipo da superclasse */
FacetaInteresse fi = new Temporario(...);
PontoInteresse pi = new PontoInteresse(...);
pi.addToFacetas(fi); //adicionar a faceta criada à colecção de facetas associadas a um ponto de interesse