Post on 18-Oct-2015
Tcnicas de Linguagem de Programao IIConceitos Gerais OO
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
Paradigma da Orientao a Objetos
lborges@heliorocha.com.br
Paradigma da Orientao a Objetos
lborges@heliorocha.com.br
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;
lborges@heliorocha.com.br
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).
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
ObjetoObjeto LmpadaCaractersticasPotncia: 40wTenso: 12VFamlia: incandescentes Cor: clara
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
Mensagem
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
Classe
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
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.
lborges@heliorocha.com.br
Herana
lborges@heliorocha.com.br
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.