quinta-feira, 8 de dezembro de 2011

Java e OO

Programas em Java são formados por partes denominadas classes, que são compostos por métodos e atributos. Java é uma linguagem completamente orientada a objetos, isto é não é possível desenvolver nenhum programa sem seguir tal paradigma. Um sistema orientado a objetos é composto por um conjunto de classes e objetos bem definidos que interagem entre si, de modo a gerar o resultado esperado.

Dê uma olhada no tema Orientação a objetos para conhecer mais sobre o assunto. É absolutamente necessário conhecer os conceitos de orientação a objeto para poder programar corretamente em Java. No site da Oracle existem algumas lições sobre o assunto. Na página da Wikilivros existem informações que merecem ser lidas. Os conceitos abaixo são importantes e você deve entendê-los:

  • Pacote é formado por um conjunto de classes e outros arquivos (imagens, xml etc) que funcionam em conjunto ou atuam com dependências entre si. Fisicamente são pastas e arquivos.
  • Instância, objeto é uma variável do tipo de uma classe, isto é, é uma classe que tem seus atributos próprios e está em memória.
  • Métodos são as funções que compõem classe.
  • Construtor é um dos módulos de uma classe que é responsável por iniciar a criação e inicialização de uma instância de classe.
  • Modificador de acesso descreve que outras classes podem ter acesso a classe que está se criando e é usado para indicar que uma classe pode ser acessada de fora de seu pacote.
  • Hierarquia de classes é composta por um grupo de classes que estão relacionadas por herança.
    • Superclasse é a classe que é estendida por uma determinada classe.
    • Subclasse é a classe que estende determinada classe.
    • Classe base é a classe de uma hierarquia que é uma superclasse de todas as outras classes.
Temos abaixo um exemplo de uma classe simples que representa um ponto no plano:

/**
* @author Henrique
* @since 12/12/2011
*
* Esta classe representa um ponto no plano cartesiano
*/
public class Ponto2D {
 private int x; // ordenada
 private int y; // abscissa
 // cria a classe passando as coordenadas como parâmetro
 public void Ponto2D(int a, int b) {
   x = a;
   y = b;
 }
 // para obter a ordenada
 public int getX() { return x; }
 // para obter a abscissa
 public int getY() { return y; }
 // move o ponto para uma nova posição (x,y)
 public void moveParaNovaPosicao(Ponto2D novaPosicao) {
   x = novaPosicao.x;
   y = novaPosicao.y;
 }
 /**
 * desloca o ponto na horizontal
 * param deslocamento pode ser negativo para deslocar para esquerda
 */
 public void moveHorizontal(int deslocamento) {
   x += deslocamento;
 }
 /**
 * desloca o ponto na vertical
 * param deslocamento pode ser negativo para deslocar para baixo
 */
 public void moveVertical(int deslocamento) {
   y += deslocamento;
 }
}



A orientação a objetos permite que o programador tire proveito de coleções de classes existentes em bibliotecas de classes Java. Estas bibliotecas de classes são também conhecidas como Java APIs (Applications Programming Interfaces - interfaces de programas aplicativos).

Para aprender Java devemos aprender a sintaxe e semântica da linguagem Java de modo que possamos programar nossas classes, mas também é necessário conhecer as classes das bibliotecas de classes Java. As bibliotecas de classes são fornecidas pelos fornecedores de compiladores e por fornecedores independentes de software (ISV - independent software vendor). É possível achar na Internet diversas classes disponíveis freeware ou shareware.


Nenhum comentário:

Postar um comentário