Escolar Documentos
Profissional Documentos
Cultura Documentos
JEQUI - BA 2013
Trabalho desenvolvido durante a disciplina de Anlise de Sistemas, como parte da avaliao referente 1 Unidade do (2) segundo semestre.
Prof. Knia
JEQUI BA 2013
REFERNCIA BIBLIOGRFICA
enciclopdia
livre.
Disponvel
em:
<http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos> Acesso em: 06 de maio de 2013. Wikipdia, a enciclopdia livre. Disponvel em: <http://pt.wikipedia.org/wiki/Persist%C3%AAncia> Acesso em: 06 de maio de 2013
Orientao a objetos
A orientao a objetos um paradigma de anlise, projeto e programao de sistemas de software baseado na composio e interao entre diversas unidades de software chamadas de objetos. Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programao. De fato, o paradigma "orientao a objeto", tem bases conceituais e origem no campo de estudo da cognio, que influenciou a rea de inteligncia artificial e da lingustica, no campo da abstrao de conceitos do mundo real. Na qualidade de mtodo de modelagem, tida como a melhor estratgia para se eliminar o "gap semntico", dificuldade recorrente no processo de modelar o mundo real do domnio do problema em um conjunto de componentes de software que seja o mais fiel na sua representao deste domnio. Facilitaria a comunicao do profissional modelador e do usurio da rea alvo, na medida em que a correlao da simbologia e conceitos abstratos do mundo real e da ferramenta de modelagem (conceitos, terminologia, smbolos, grafismo e estratgias) fosse a mais bvia, natural e exata possvel. Na programao orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos mtodos) e estados possveis (atributos) de seus objetos, assim como o relacionamento com outros objetos. So exemplos de linguagens de programao orientadas a objetos: C++, C, VB.NET, Java, Object Pascal, Python, Super Collider, Ruby, Smalltak e Objective-C. So exemplos de linguagens de programao com suporte a orientao a objetos: ActionScript, ColdFusion, Javascript, PHP (a partir da verso 4.0), Perl (a partir da verso 5) e Visual Basic (a partir da verso 4).
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 Subclasse uma nova classe que herda caractersticas de sua(s) classe(s) ancestral (is) 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. Atributos 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 Mtodos definem as habilidades dos objetos. Bidu uma instncia da classe Cachorro, portanto tem habilidade para latir, implementada atravs do mtodo de Um Latido. Um mtodo em uma classe apenas uma definio. A aco s ocorre quando o mtodo invocado atravs do objecto, no caso Bidu. Dentro do
programa, a utilizao de um mtodo deve afectar 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.
Herana (ou generalizao) o mecanismo pelo qual uma classe (subclasse) pode estender outra classe (superclasse), aproveitando seus comportamentos (mtodos) e variveis possveis (atributos). Um exemplo de herana: Mamfero superclasse de Humano. Ou seja, um Humano um mamfero. H herana mltipla quando uma subclasse possui mais de uma superclasse. Essa relao normalmente chamada de relao " um" 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 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): 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). 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 (cincia da computao) 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.
Persistncia chama-se de "objetos persistentes" aqueles que permanecem existindo mesmo aps o trmino da execuo do programa. Associados persistncia esto o gerenciamento dinmico da memria e o armazenamento de objetos em bases de dados. Somente possvel "eternizar" um objeto quando este no possui "dados dinmicos" (runtime), ou seja, dados que s fazem sentido no contexto do tempo em que esto executando, como sockets, por exemplo. Os objetos que possuem dados de tempo de execuo, se congelados, aps sua recuperao os dados que no fazem mais sentido no contexto do novo tempo so ignorados ou perdidos.