Programação Orientada a Objetos: Uma Abordagem com Java/Introdução/Classes: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Criou a página com "A definição de classes e seus inter-relacionamentos é o principal resultado da etapa de projeto de software. Em geral, esse resultado é expresso em termos de alguma lin..."
 
mSem resumo de edição
Linha 1:
== Classes ==
A definição de classes e seus inter-relacionamentos é o principal resultado da etapa de projeto de software. Em geral, esse resultado é expresso em termos de alguma linguagem de modelagem, tal como a ''[http://www.uml.org Unified Modeling Language]'' (UML).
 
Linha 5 ⟶ 6:
Uma vez que estejam definidas quais serão as classes que irão compor uma aplicação, assim como qual deve ser sua estrutura interna e comportamento, é possível criar essas classes em Java.
 
=== Elementos de uma classe ===
Na UML, a representação para uma classe no diagrama de classes é tipicamente expressa na forma gráfica por um retângulo com divisões para o nome da classe, o conjunto de atributos e o conjunto de operações.
 
Linha 13 ⟶ 15:
As operações definem as funcionalidades da classe, ou seja, o que será possível fazer com objetos dessa classe. Cada operação tem uma assinatura, composta por um identificador (o nome da operação), o tipo para o valor de retorno e sua lista de argumentos, sendo cada argumento identificado por seu tipo e nome. Pelo mecanismo de sobrecarga (''overloading''), duas operações de uma classe podem ter o mesmo nome, desde que suas assinaturas sejam diferentes. Tal situação não gera conflito pois o compilador é capaz de detectar qual método que implementa a operação deve ser escolhido a partir da análise dos tipos dos argumentos do método. Nesse caso, diz-se que ocorre a ligação prematura (''early binding'') para o método correto.
 
=== Modificadores ===
O modificador de visibilidade pode estar presente tanto para atributos como para métodos. Em princípio, três categorias de visibilidade podem ser definidas:
* '''público''', denotado em UML pelo símbolo +: nesse caso, o atributo ou método de um objeto dessa classe pode ser acessado por qualquer outro objeto (visibilidade externa total);