Ir para conteúdo
Fórum Script Brasil
  • 0

Orientação A Objetos


iSoron

Pergunta

Bem pessoal, como esse assunto gera dúvidas freqüentes, é melhor condensar aqui os principais termos, aspectos e peculiaridades da programação OO, não necessariamente se restringindo ao Java, mas OO de uma forma geral.

Se alguém quiser escrever um artigo, mini-tutorial, ou qualquer coisa assim, fique à vontade. Basta postar aí. Mas, por favor, use o mesmo estilo dos posts anteriores, pra não ficar muito bagunçado, beleza? Ah sim, Snippets, Design Patterns (ou anti-Patterns), UML também valem!

Qualquer duvida ou comentário deve ser feito em um novo tópico pra não sobrecarregar! A intenção aqui é apenas guardar os textos, pra ficar simples de ler. wink.gif

[]'s

iSoron.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Encapsulamento

Encapsulamento é como um escudo de um objeto. Cada objeto tem essa barreira pra impedir que outros objetos tenham acesso ao seu conteúdo restrito. Seria como várias contas de email, por exemplo. Cada um tem acesso apenas à sua propria conta. Isso não significa, porém, que você nunca poderá acessar um email que alguém me enviou. Pra fazer isso, você precisa me pedir, ou precisa que eu te dê o acesso.

Quando você declara um atributo como public, você está dizendo que isso é publico, e que qualquer um pode acessá-lo. Se for declarado como private, só você terá acesso a ele. O mesmo vale pra métodos. Muitas vezes, um método publico é usado pra devolver informaçoes de atributos privados. Isso garante que você só leia, e não altere nada, por exemplo.

Na prática:

private String senha = "SeNHa123";

// Um metodo publico pode ser usado pra realizar operaçoes
// em atributos privados que não possam ser revelados.
public boolean checaSenha(String s) {
   if(s.equals(senha)) return true;
   else return false;
}
Polimorfismo Polimorfismo é o ato de um objeto responder de maneiras diferentes ao mesmo pedido. O que muda é que um pedido pode não especificar algumas coisas, ou especificar demais. Por exemplo, digamos que exista o metodo getHoras(). Se utilizado sem nada nos paranteses, seria como "Que horas são?". Logo, devolveria a hora atual. Se a pergunta fosse "Que horas é o show?", o mesmo método seria utilizado, porém agora seria feito outro procedimento pra responder a pergunta. Algo como getHoras(Show s). Note que eu posso perguntar com ou sem os argumentos, ou com argumentos de outros tipos. Cabe ao programador implementar o método para cada pergunta específica. Na prática:
public void getHoras() { ..... }
public int getHoras(Show s) {...... }
public String getHoras(int x) { ...... }
Herança Provavelmente o conceito mais importante de OO. É quando dois objetos possuem caracteristicas comuns, provenientes de um ancestral comum. Um carro e uma moto possuem as mesmas caracteristicas de serem um veículo, de precisarem de combustivel, etc. Logo, esses métodos e atributos comuns devem ser inclusos em uma classe Veiculo e depois herdados pelas classes Carro e Moto. Assim, se você precisar mudar alguma coisa em todas as classes, basta mudar na ancestral. Assim, todas as demais serão alteradas. Na prática:
class Veiculo { .... }
class Carro extends Veiculo {....}
class Moto extends Veiculo { .... }

[]'s

iSoron.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...