quinta-feira, 27 de junho de 2013

Conceito 9 - Visibilidade

Há três graus de visibilidade que podemos usar com membros de uma classe
As palavras chaves usadas são: "public", "private", "protected".

A visibilidade public:
Quem tem acesso à classe tem acesso também a qualquer membro com visibilidade public
O alvo aqui é o programador cliente que usa suas classes
É raro ter atributos públicos mas é comum ter métodos públicos.

A visibilidade private:
O membro private não é acessível fora da classe
A intenção aqui é permitir que apenas você que escreve a classe possa usar esse membro.

A visibilidade protected
O membro protected é acessível à classe e a suas subclasses
A intenção é dar acesso ao programadores que estenderão sua classe.

Exemplo de Visibilidade no diagrama de classe:


Exemplo de código fonte:
public class Usuario;   // Visibilidade public

private String Nome;    // Visibilidade private

protected String Cliente;   // Visibilidade protected


Conceito 8 - Abstração x Representação

Abstração: o que você enxerga no objeto e como você compreende o objeto, ou seja, visão do mundo real/natural .

Representação: realizada através da descrição da classe.

Conceito 7 - Troca de mensagens

A troca de mensagens ocorre através da chamada aos métodos de um objeto por outro objeto.

Exemplo de código fonte:
public class Relatorio {
    ...
    public void imprimirTitulo(String titulo){
        formulario.Imprimir(posicaoX, posicaoY, Alinhamento.CENTRAL, titulo);
    }
    ...
}

No exemplo acima o Objeto Relatorio passa uma mensagem para o objeto formulário utilizando a função imprimir. Sempre que você chama um método de um objeto você está passando uma mensagem.

Conceito 6 - Escopo de Variável

A parte de código que "enxerga" uma determinada variável é chamada o escopo da variável. Podemos definir uma variável em global ou local.

Assim, o escopo de uma variável global é a classe inteira, e o escopo de uma variável local é o método, ou bloco contido dentro do método, ao qual ela pertence.

As variáveis declaradas fora de qualquer método (usualmente no cabeçalho da classe) e são acessíveis por qualquer método da classe são chamadas globais. Muitas vezes, variáveis auxiliares são declaradas dentro de um determinado método, ou até dentro de um bloco menor. Tais variáveis são chamadas locais. Elas existem somente durante a execução daquele método ou bloco.

Exemplo de código fonte:
class NomeDaClasse
{
   TipoDaVariahvel variahvel1; // variável global
   ...
   TipoDeRetorno nomeDoMehtodo()
   {
     TipoDaVariahvel variahvel2; // variável local, definida neste método
     for( int i = 0; i < 10; i++ )
     {
       ... // a variável i é local, definida só dentro deste bloco
     }
   }
}

Conceito 5 - Estado

O estado de um objeto é representado pelas variáveis definidas na própria classe.
Concreto: que existe fisicamente.
Abstrato: é um conceito.

Conceito 4 - Objeto

Objetos são instâncias de classes, que determinam qual informação um objeto contém e como ele pode manipulá-la. É uma entidade capaz de reter um estado (informação) e que oferece uma série de informações (comportamento) ou para examinar ou para afetar este estado. É através deles que praticamente todo o processamento ocorre em sistemas implementados com linguagens de programação orientada a objetos.

Exemplo de código fonte:
public class ExemploObjeto {
    public static void main (String[] args) {
        //cria o objeto estagiario
        Estagiario e = new Estagiario();
       
        e.setNome ("Carlos");   //usando método herdado
        System.out.println(e);   //chamando método local
 }  }

Conceito 3 - Métodos

Os métodos são procedimentos ou funções que realizam as ações próprias do objeto. Assim, os métodos são as ações que o objeto pode realizar. Tudo o que o objeto faz é através de seus métodos, pois é através dos seus métodos que um objeto se manifesta, através deles que o objeto interage com os outros objetos.  
Método Construtor:

Construtores são métodos especiais chamados pelo sistema no momento da criação de um objeto. Eles não possuem valor de retorno, porque você não pode chamar um construtor para um objeto, você só usa o construtor no momento da inicialização do objeto. Construtores representam uma oportunidade de inicializar seus dados de forma organizada.
Métodos Get e Set:

Get: Nomeamos um método assessor com get toda vez que este método for verificar algum campo ou atributo de uma classe.
Como este método irá verificar um valor, ele sempre terá um retorno como String, int, float, etc. Mas não terá nenhum argumento.
Set: Nomeamos um método assessor com set toda vez que este método for modificar algum campo ou atributo de uma classe, ou seja, se não criarmos um método assessor set para algum atributo, isso quer dizer que este atributo não deve ser modificado.
Portanto, como o valor de um atributo da classe será modificado, não é necessário que este método retorne nenhum valor, por isso, os métodos setters são void. Porém, obrigatoriamente, eles tem que receber um argumento que será o novo valor do campo.
Métodos do usuário:

Onde é adicionado nas listas criadas, onde é implementado o programa, criados pelo usuário.
Método sobrescrito:

Qualquer classe que herda um método de uma superclasse tem a oportunidade de sobrescrever o método (exceto métodos marcados como final). O benefício de sobrepor é a capacidade de definir um comportamento que é específico para um tipo de subclasse particular.
Exemplo de código fonte:
public class Pessoa extends ser_vivo{
// Atributos/Propriedades
    private String nome;
// Método Construtor    public Pessoa() {
    }
// Métodos Set e Get    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
// Métodos Usuário (e Sobrescrito se a classe ser_vivo possuir o mesmo método)    public void escreverNome(){
        System.out.println(this.getNome());
    }