Diagrama UML

12 respostas
Shponja

estou à varios dias a tentar resolver isto e não consigo perceber, ja procurei exemplos de diagramas UML na internet e nao encontro nada que apresente o codigo correspondente.
algue me poderia dizer numa passagem rapida e sem muitos promenores como fica este diagrama? :

Grupo III.

Atenção não é para responderem as perguntas, isso faço eu pois o estudo é meu, apenas quero uma ajuda a compreender a passagem de diagrama para código.

Obrigado e Abraços

12 Respostas

Marcio_Nogueira

Você poderia ser mais específico na sua dúvida? :wink:

Shponja

queria saber como passo o diagrama UML que ai esta nesse link para codigo.
mas nao precisa ser o codigo todo, apenas como escrevo os métodos objectos classes e assim. nao precisa ter o corpo dos métodos.

Marcio_Nogueira

public class GestorPrecos{ private int nPostos; public GestorPrecos(){} public GestorPrecos(int n){} //falta implementar os outros métodos }

Shponja

porquê este método duas vezes? =S

está ajudando =)

e o resto pode dizer como fica?

Lavieri

´como é um exercicio, e ele fala pra implementar uma array, então seria

//...
 private PostoAbastecimento[] postos;
 private int nPostos;  
 public GestorPrecos(int n) {
      nPostos = n;
      postos = new PostoAbastecimento[n];
}
//...

ali no código dele, não tem 2 métodos, e sim 2 modos de criar a classe… apesar de que, segundo seu exercicio o modo de criar é informando a capacidade do posto

Shponja

hmmm estou a ver obrigado pela ajuda, isso será entao a resoluçao do primeiro exercicio.

mas eu queria saber como passo o resto do diagrama uml para codigo.
nao necessita de mostrar o corpo do método ou resolver os exercicios, apenas mostrar como invoco os métodos e objectos pedidos no diagrama. obrigado.

ja deu pa perceber algumas coisas =)

Shponja

ou seja, como fica o

+mais Economico
e
+getNMaisEconomico

Marcio_Nogueira

Modoficadores de acesso em UML:

  • = public
  • = private

= procted

Agora, é so buscar a solução por vc mesmo. 8)

Shponja

mas eu não sei fazer, por isso é que estou a perguntar.
como podem ver isso é do ano passado não se trata de fichas nemt rabalhos apenas estudo portanto acho que me podem ajudar =S

tenho duvidas e nao tenho ninguem conhecido em programaçao nem livros.
se alguem poder ajudar nor esto do diagrama agradeço.

M

Vamos por partes: cá está o diagrama:

Em um diagrama como esse, o primeiro sinal, como já disse Marcio_Nogueira, define os modificadores de acesso. Logo em seguida temos o nome do método (ou variável). Dentro dos parênteses, temos o(s) argumento(s) para o método (se houver). E por fim, após os “:”, temos o tipo de retorno (se houver). Logo, se temos algo como:

+GestorPrecos(n:int)

Concluí-se que temos um construtor (mesmo nome da classe, começa com letra maiúscula e não tem retorno). Esse construtor é public e recebe como parâmetro um número inteiro. Logo, poderíamos escrevê-lo assim:

public GestorPrecos(int n) {
    // corpo aqui
}

Já na linha:

+maisEconomico(regiao:String): PostoAbastecimento

Vamos analisar: a sinal “+” determina que é público. O nome do método é “maisEconomico”. Recebe como parâmetro um String “regiao” e seu tipo de retorno é “PostoAbastecimento”. Vejamos a estrutura de métodos em Java:

|modificadoresDeAcesso| tipoDeRetorno nomeDoMetodo(|parâmetros|) {
    |corpo|
}
  • O que está entre ‘|’ não é obrigatório ser usado, pois depende da situação. A partir desse esquema e com os dados retirados acima, temos:
public PostoAbastecimento maisEconomico(String regiao) {
    // corpo do método aqui
}

Agora, o getNMaisEconomico fica por sua conta. :slight_smile:


Shponja

acho que ja compreendi tudo e ja tirei as duvidas todas =) obrigado.
ja agora so outras duas duvidas:

1-em relaçao aos relacionamentos entre classes, para além daquele que aqui está representado, como ficam os outros em código? e o que significam?
encontrei informaçoes na net sobre isso mas nunca encontrei exemplos.

2-num array bidimensional int array[][] = new int array[3][4];
o que vem primeiro as linhas ou colunas?
penso que isso será um array bidimensional com 4 linhas e 3 colunas:
[x][x][x]
[x][x][x]
[x][x][x]
[x][x][x]
Está correcto?

M

Shponja:
acho que ja compreendi tudo e ja tirei as duvidas todas =) obrigado.
ja agora so outras duas duvidas:

1-em relaçao aos relacionamentos entre classes, para além daquele que aqui está representado, como ficam os outros em código? e o que significam?
encontrei informaçoes na net sobre isso mas nunca encontrei exemplos.

2-num array bidimensional int array[][] = new int array[3][4];
o que vem primeiro as linhas ou colunas?
penso que isso será um array bidimensional com 4 linhas e 3 colunas:
[x][x][x]
[x][x][x]
[x][x][x]
[x][x][x]
Está correcto?


Não consegui entender sua primeira pergunta…

Quando a segunda, primeiro considera-se o número de LINHAS e depois o de COLUNAS. Logo, um array [3][4] seria algo como:
[0][1][2][3]
[0][x][x][x][x]
[1][x][x][x][x]
[2][x][x][x][x]

3 linhas por 4 colunas.

Criado 11 de janeiro de 2009
Ultima resposta 12 de jan. de 2009
Respostas 12
Participantes 4