quarta-feira, 17 de fevereiro de 2010

[Java] Definição de classe, membro, atributo, método, construtor, pacote.


Classe

Para facilitar a entendimento do conceito de classe, iremos utilizar uma analogia com a engenharia. Na engenharia, para construir qualquer coisa são utilizados os desenhos técnicos e apartir deles são construídos motores, prédios, casas entre outros. Desta mesma forma, para a computação, as classes são a descrição de um objeto. Uma classe descreve os dados que os objetos incluem e descreve os comportamentos dos objetos.

Em java, as classes suportam três características fundamentais da orientação a objetos:
  • Encapsulamento
  • Herança
  • Polimorfismo
Declarando uma classe em Java

Sintaxe básica para declaração de uma classe em Java:
<modificador>* class <nomedaclasse> {
<declaraçãoDeAtributo>*
<declaraçãoDeConstrutor>*
<declaraçãoDeMétodo>*
}
Exemplo:
public class Carro {
private double passageiros;
public void setaPassageiros(double p) {
passageiros = p;
}
}
EDITADO: Definição de Membro. Contribuição de Mário Leal. Retirado de "A linguagem de Programação Java (Sun)" Bookman - Quarta Edição Cápitulo 2 página 63.

Membro

Uma classe pode ter três espécies de membros:
  • Campos são variáveis de dados associados com uma classe e seus objetos e armazenam o estado de uma classe ou objeto.
  • Métodos contêm o código executavel de uma classe e definem o comportamento de objetos.
  • Classes aninhadas e interfaces aninhadas são declarações de classes ou interfaces que ocorrem aninhadas dentro da declaração de outra classe ou interface.
Atributo

Os Atributos em Programação Orientada a Objetos são os elementos que definem a estrutura de uma classe. Os atributos também são conhecidos como variáveis de classe, e podem ser divididos em dois tipos básicos: atributos de instância e de classe. Os valores dos atributos de instância determinam o estado de cada objeto. Um atributo de classe possui um estado que é compartilhado por todos os objetos de uma classe. Atributos de classe podem ser chamados também de atributos estáticos ou constantes.

Declarando um atributo em Java

Sintaxe básica para declaração de um atributo em Java:
<modificador>* <tipo> <nome> [ = <valorInicial> ];
Exemplo:
private int x;
private float y = 10000.0F;
public String nome = "Carina Calixto"
Método

Em orientação a objeto, um método é uma subrotina que é executada por um objeto. Os métodos determinam o comportamento dos objetos de uma classe e são análogos à funções ou procedimentos da programação estruturada. A chamada de métodos pode ou não alterar o estado de um objeto.

Declarando um método em Java

Sintaxe básica para declaração de um método em Java:
<modificador>* <tipoDoRetorno> <nome> ( <parâmetro>* ){
<corpoDoMétodo>
}
Exemplo:
public void setaPeso (int p) {
if ( p > 0 ) {
peso = p;
}
}
Construtor

Construtor é um método chamado assim que uma nova instância do objeto for criada através do operador new. Tal método geralmente é responsável pela alocação de recursos necessários ao funcionamento do objeto além da definição inicial das variáveis de estado (atributos). Sua sintaxe básica é identica a dos métodos. A assinatura de um construtor diferencia-se das assinaturas dos outros métodos por não ter nenhum tipo de retorno (nem mesmo void). Além disto, o nome do construtor deve ser o próprio nome da classe.

Exemplo:
public class Carro {
private double passageiros;
//método construtor
public Carro {
passageiros = 0;
}
//método
public void setaPassageiros(double p) {
passageiros = p;
}
}
Pacote

Como já foi falado sobre pacote, irei apenas adicionar algumas informações.

Pacotes são especialmente úteis para ocultar informações. Com este intuito, Java permite que as definições de métodos, atributos, construtores e classes sejam acompanhadas de qualificadores especiais:
  • Se um atributo, método, construtor ou uma classe for declarado public, ele poderá ser utilizado em qualquer lugar.
  • Se um atributo, método ou construtor for declarado private, ele só poderá ser utilizado (referenciado) na definição da classe onde o mesmo é definido.
  • Se um atributo, método ou construtor for declarado protected, ele só poderá ser utilizado no pacote onde o mesmo é definido ou na definição de uma subclasse da classe onde o mesmo é definido.
  • Se um atributo, método, construtor ou uma classe não for declarado com um dos qualificadores discutidos acima, ele só poderá ser utilizado no pacote onde o mesmo é definido.
Além disso, qualquer unidade de compilação de um pacote pode usar definições de outros pacotes, desde que elas sejam visíveis. Assim, se em uma unidade de compilação do pacote segundo.pacote for preciso usar o tipo (classe ou interface, juntamente com todas operaçoes e atributos visíveis) Tipo definido no pacote primeiro.pacote temos que fazer as seguinte declarações:
package segundo.pacote;
...
import primeiro.pacote.Tipo;
...

3 comentários:

  1. voce sabe a definição de membro?

    ResponderExcluir
  2. Eu pesquisei e achei nada sobre membro. Minha opinião? Deve ser mais uma daquelas coisas que esse concurso pediu e eles deram um nome diferente. Vide: métodos worker e calling.

    ResponderExcluir
  3. Os metodos e as variáveis de instâncias (não-locais)são conhecidos coletivamente como membros.

    ResponderExcluir