Nomenclatura, diagrama, etc

3 respostas
W

TENHO ALGUMAS DÚVIDAS PESSOAL…

  • As classes de interface gráfica precisam ir nos diagramas UML? Não né?

  • Qual nomenclatura normalmente é utilizada para os pacotes?
    Exemplo: br.edu.anglo.gui seria para classes de interface gráfica
    para banco de dados seria o que? br.edu.anglo.???
    e para as classes que foram diagramadas seria o q? br.edu.anglo.???

  • Por que e quando um atributo deve ser privado?

  • Qual a vantagem dos pacotes terem nomenclatura do tipo: ‘edu.anglo.nome.gui’ e não simplesmente ‘gui’ em um projeto? E os
    pontos nessa nomenclatura acabam criando uma pasta por nome antes do ponto, Por quê?

3 Respostas

doravan

Isso é o que chamamos de convenção.

geralmente as empresas colocam o nome dos pacotes conforme seus domínios.
Por exemplo…
com.oracle.javax (pacote javax)
org.hibernate (pacote do hibernate)
org.hibernate.c3p0 (pacote do c3p0 dentro do hibernate)

Meu domínio é implayer.org, então eu utilizo
org.implayer como pacote principal.

Isso serve para organizar projetos dentro de um domínio de uma empresa.

O pacote em si vai da sua convenção.

Quando utilizo uma aplicação desktop defino assim.
org.implayer.software.gui - pacote de interface gráfica do programa software
org.implayer.software.model - pacote que contém as entidades do banco de dados
org.implayer.software.dao - pacote que contém as classes de acesso a dados
org.implayer.software.infra - infra-estrutura geral da aplicação

Atributos privados…
Você deveria ter lido o tutorial inicial do java.
Atributos privados são somente utilizados dentro da classe onde são declarados tais atributos. Se você quer disponibilizar os atributos privados para fora da sua classe, vc tem que encapsular esse atributo com métodos get e set.
get > retorna o valor do atributo
set > altera o valor do atributo

W

doravan:
Isso é o que chamamos de convenção.

geralmente as empresas colocam o nome dos pacotes conforme seus domínios.
Por exemplo…
com.oracle.javax (pacote javax)
org.hibernate (pacote do hibernate)
org.hibernate.c3p0 (pacote do c3p0 dentro do hibernate)

Meu domínio é implayer.org, então eu utilizo
org.implayer como pacote principal.

Isso serve para organizar projetos dentro de um domínio de uma empresa.

O pacote em si vai da sua convenção.

Quando utilizo uma aplicação desktop defino assim.
org.implayer.software.gui - pacote de interface gráfica do programa software
org.implayer.software.model - pacote que contém as entidades do banco de dados
org.implayer.software.dao - pacote que contém as classes de acesso a dados
org.implayer.software.infra - infra-estrutura geral da aplicação

Atributos privados…
Você deveria ter lido o tutorial inicial do java.
Atributos privados são somente utilizados dentro da classe onde são declarados tais atributos. Se você quer disponibilizar os atributos privados para fora da sua classe, vc tem que encapsular esse atributo com métodos get e set.
get > retorna o valor do atributo
set > altera o valor do atributo

A valew… só que a parte dos atributos privados assim eu sei q só é acessado direto de dentro da classe onde ta sendo declarado e que fora só atraves de get e set… mas pra q isso?? se fosse tudo public não vejo diferença alguma, queria entender o porq…

valew

doravan

Manter um atributo privado ajuda a manter a integridade da Classe.
Caso você pudesse alterar um Atributo sem prévia verificação, isso poderia acabar gerando algum erro no momento da execução da aplicação.

Imagine, caso você esteja trabalhando com operações matemáticas, daí, por exemplo, vc altera um Atributo Integer para um valor do tipo “casa”.
Isso incorrerá em uma exceção java.lang.numberformat, e sua aplicação reportará um erro.

Encapsulamento de atributos serve para validar a entrada de dados desse atributo. Em geral o encapsulamento setter vem da seguinte forma:

private Integer numero;

public void setNumero(Integer parametro){
     this.numero = parametro;
}

Nesse caso você só poderá atribuir valores do tipo Integer ao Atributo número.

Se ele fosse público:

public Integer numero;

Nada impediria que você pudesse atribuir um valor do tipo String ao número, porém isso incorreria em erros.

Criado 25 de março de 2011
Ultima resposta 26 de mar. de 2011
Respostas 3
Participantes 2