Você está na página 1de 2

Conceitos essenciais

Classe representa um conjunto de objetos com caractersticas afins. Uma classe define o comportamento dos objetos atravs de seus mtodos, e quais estados ele capaz de manter atravs de seus atributos. Exemplo de classe: Os seres humanos o Subclasse uma nova classe que herda caractersticas de sua(s) classe(s) pai Objeto / instncia de uma classe. Um objeto capaz de armazenar estados atravs de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: Joo, Jos, Maria Atributo so caractersticas de um objeto. Basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionrio: nome, endereo, telefone, CPF,...; Carro: nome, marca, ano, cor, ; Livro: autor, editora, ano. Por sua vez, os atributos possuem valores. Por exemplo, o atributo cor pode conter o valor azul. O conjunto de valores dos atributos de um determinado objeto chamado de estado Mtodo definem as habilidades dos objetos. Bidu uma instncia da classe Cachorro, portanto tem habilidade para latir, implementada atravs do mtodo deUmLatido. Um mtodo em uma classe apenas uma definio. A ao s ocorre quando o mtodo invocado atravs do objeto, no caso Bidu. Dentro do programa, a utilizao de um mtodo deve afetar apenas um objeto em particular; Todos os cachorros podem latir, mas voc quer que apenas Bidu d o latido. Normalmente, uma classe possui diversos mtodos, que no caso da classe Cachorro poderiam ser sente, coma e morda Mensagem uma chamada a um objeto para invocar um de seus mtodos, ativando um comportamento descrito por sua classe. Tambm pode ser direcionada diretamente a uma classe (atravs de uma invocao a um mtodo esttico) Herana (ou generalizao) o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (mtodos) e variveis possveis (atributos). Um exemplo de herana: Mamfero super-classe de Humano. Ou seja, um Humano um mamfero. H herana mltipla quando uma subclasse possui mais de uma super-classe. Essa relao normalmente chamada de relao " um" Associao o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratarse de uma associao simples "usa um" ou de um acoplamento "parte de". Por exemplo: Um humano usa um telefone. A tecla "1" parte de um telefone Encapsulamento consiste na separao de aspectos internos e externos de um objeto. Este mecanismo utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os mtodos que alteram/consultam estes estados. Exemplo: voc no precisa conhecer os detalhes dos circuitos de um telefone para utiliz-lo. A carcaa do telefone encapsula esses detalhes, provendo a voc uma interface mais amigvel (os botes, o monofone e os sinais de tom) Abstrao a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando caractersticas menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe uma abstrao de entidades existentes no domnio do sistema de software

Polimorfismo consiste em quatro propriedades que a linguagem pode ter (atente para o fato de que nem toda linguagem orientada a objeto tem implementado todos os tipos de polimorfismo): o Universal:  Incluso: um ponteiro para classe me pode apontar para uma instncia de uma classe filha (exemplo em Java: "List lista = new LinkedList();" (tipo de polimorfismo mais bsico que existe)  Paramtrico: se restringe ao uso de templates (C++, por exemplo) e generics (Java/C ) o Ad-Hoc:  Sobrecarga: duas funes/mtodos com o mesmo nome mas assinaturas diferentes  Coero: a linguagem que faz as converses implicitamente (como por exemplo atribuir um int a um float em C++, isto aceito mesmo sendo tipos diferentes pois a converso feita implicitamente) Interface um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface, ela est comprometida a fornecer o comportamento publicado pela interface[1] Pacotes so referncias para organizao lgica de classes e interfaces[1]