Conceit Os Gerais Oo

download Conceit Os Gerais Oo

of 26

Transcript of Conceit Os Gerais Oo

  • Tcnicas de Linguagem de Programao IIConceitos Gerais OO

    [email protected]

    HistriaSIMULA 67Primeira Linguagem OOProjetada para realizar simulaesConceitos de classe e heranaOO destaca-se pela nfase na reutilizao de cdigo e na uniformidade do formalismo durante todas as fases do desenvolvimento de sistemas.SMALLTALK (1983)O termo POO introduzido com o SmalltalkTornar o processo de construo de aplicaes acessvel a quaisquer usurios.Serviu como base para uma nova configurao das linguagens de programao, que passaram a trabalhar com objetos.

    [email protected]

    HistriaParadigma de Orientao a Objetos (Fins dos anos 80)abordagem poderosa e prtica para o desenvolvimento de softwareJavaOrientado ao ObjetoBaseado na Linguagem C++Independente de PlataformaCdigo independente de arquiteturaSeguro, Robusto e CompactoSuporte a MultiprocessamentoPode ser usado em pginas HTML

    [email protected]

    Paradigma da Orientao a ObjetosAnlise Orientada a Objetos o processo de construo de modelos do domnio do problema, identificando e especificando um conjunto de objetos semnticos (que tem significativo para o domnio do problema) que interagem e comportam-se conforme os requisitos estabelecidos.

    [email protected]

    Paradigma da Orientao a ObjetosModelagem Orientada a ObjetosModela o mundo em termos de objetos que tm propriedades e comportamento, e eventos que disparam operaes que mudam o estado dos objetos. Os objetos interagem formalmente com outros objetos.

    [email protected]

    Paradigma da Orientao a ObjetosProgramao Orientada a Objetos um mtodo de implementao na qual programas so organizados como coleo de objetos que cooperam entre si, cada um dos quais representa a instncia de alguma classe, e cuja as classes so todas membros de uma hierarquia de classes definida via relacionamento de herana.

    [email protected]

    Paradigma da Orientao a Objetos

    [email protected]

    Paradigma da Orientao a Objetos

    [email protected]

    Paradigma da Orientao a ObjetosObjetoO que se apresenta percepo com um carter fixo e estvel.So caracterizados por trs aspectos:Identidade;Caractersticas (estado interno);Comportamento;

    [email protected]

    ObjetoVoc pode dar uma olhada ao seu redor e ver muitos exemplos de objetos do mundo-real: seu cachorro, sua escrivaninha, sua televiso, sua bicicleta.Esse objetos do mundo real compartilham duas caractersticas: todos eles tem estado e comportamento. Por exemplo, cachorro tm estado (nome, cor) e comportamento (latindo, buscando alimento).

    [email protected]

    ObjetoAs caractersticas e seus respectivos estados so representados em modelos computacionais de objetos por variveis (atributos) e valores que determinam seu estado.O comportamento de um objeto representado atravs de mdulos que contm algoritmos computacionais denominados mtodos.

    [email protected]

    ObjetoObjeto LmpadaCaractersticasPotncia: 40wTenso: 12VFamlia: incandescentes Cor: clara

    [email protected]

    MensagemA comunicao entre os objetos realizada atravs de mensagens. atravs delas que um objeto solicita a outro que realize determinada tarefa.A cada mensagem recebida disparado um mtodo do objeto que ativa uma ao.

    [email protected]

    Mensagem

    [email protected]

    ClasseNo mundo real, voc tem freqentemente muitos objetos do mesmo tipo. Por exemplo, sua bicicleta somente uma de muitas bicicletas no mundo. Usando a terminologia orientada a objeto, ns dizemos que seu objeto bicicleta uma instncia da classe de objetos conhecida como bicicletas. Bicicletas tm algum estado (engrenagem atual, cadncia atual, duas rodas) e comportamento (engrenagens de mudana, freio) em comum. Porm, o estado de cada bicicleta independente e pode ser diferente disso de outras bicicletas.

    [email protected]

    ClasseUma classe uma representao abstrata para um conjunto de objetos que possuem estrutura e comportamento semelhantes.Por esse motivo, as classes definem:Os atributos que iro descrever o objeto.Os mtodos que definem o comportamento dos mesmos.

    [email protected]

    Classe

    [email protected]

    Construtor e DestrutorConstrutorTodo objeto deve ser instanciado (criado) atravs da ativao do mtodo construtor.Destrutor o inverso do construtor, ele ativado automaticamente quando o objeto est sendo destrudo a fim de liberar a memria ocupada pelo mesmo.

    [email protected]

    EncapsulamentoNa programao orienta a objetos, os objetos comunicam-se atravs de mensagens. A nica coisa que um objeto conhece sobre outro objeto a sua interface de comunicao. Os dados e a lgica de cada objeto so mantidos escondidos dos outros objetos. Em outras palavras, a interface encapsula o cdigo e os dados do objeto.

    [email protected]

    EncapsulamentoO princpio do encapsulamento estabelece uma diviso entre:Interface: partes do objeto que se relacionam com o exterior.Implementao: dados e cdigo que implementam o comportamento do objeto. possvel para o autor da classe especificar que uma caracterstica est disponvel para todos os clientes, para nenhum cliente, ou para clientes especficos.

    [email protected]

    EncapsulamentoPrivadaNo visvel a nenhuma classe externa; visvel apenas dentro da classe.PblicaCompletamente visvel internamente e para outras classes e elementos externos.ProtegidaNo visvel a classes e elementos externos; visvel apenas dentro do package, da classe e para seus herdeiros.

    [email protected]

    EncapsulamentoNa POO uma classe possui, em geral, os atributos privados e os mtodos pblicos, tornando o objeto como uma caixa preta onde s aparece o suficiente para que o programa possa utiliz-lo.

    [email protected]

    InterfaceA interface de uma classe a coleo de mtodos e campos aos quais uma classe concede acesso para objetos de outras classes. Essa interface geralmente representa um compromisso de que os mtodos iro executar a operao implcita em seus nomes e do modo como est especificado.

    [email protected]

    HeranaA herana o mecanismo utilizado para se definir uma nova classe de objetos a partir de uma imitao, refinamento ou combinao de outras classes j existentes. Isto torna possvel tomando uma classe como herdeira de outra.Quando uma classe herdeira (subclasse) de outra, ela possui os mesmos atributos da superclasse alm dos definidos na prpria classe, e tem acesso aos mtodos desta superclasse, respeitadas as condies de visibilidade. A subclasse pode acrescentar atributos e mtodos prprios.

    [email protected]

    Herana

    [email protected]

    PolimorfismoPolimorfismo o princpio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar mtodos que tm a mesma identificao (assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referncia a um objeto do tipo da superclasse. A deciso sobre qual o mtodo que deve ser selecionado, de acordo com o tipo da classe derivada, tomada em tempo de execuo.