Prévia do material em texto
<p>Professor Ivan Fontainha de Alvarenga</p><p>Programação de Computadores II</p><p>Bibliografia</p><p>• MANZANO, José Augusto N. G. & OLIVEIRA, Jayr Figueiredo</p><p>de, Algoritmos e Lógica para Desenvolvimento de</p><p>Programação de Computadores, Érica, 1997</p><p>• MAITINO NETO, Roque. Programação Orientada a</p><p>Objetos. Londrina: Editora e Distribuidora Educacional S.A.,</p><p>2018.</p><p>• MANZANO, J. A. N. G., COSTA JÚNIOR, R. A. Java SE 7</p><p>Programação de Computadores - Guia Prático de</p><p>Introdução, Orientação e Desenvolvimento. 1. ed. São</p><p>Paulo: Érica, 2011.</p><p>• DEITEL, H. M., DEITEL, P. J., Java – Como Programar. 8. ed.</p><p>São Paulo: Pearson Prentice Hall, 2010.</p><p>• O programa de computador é o meio pelo qual um</p><p>computador executa cálculos e funções.</p><p>• Ele é escrito com o uso de comandos, operadores, variáveis</p><p>e alguns outros recursos que, dispostos corretamente,</p><p>formam uma linguagem de programação.</p><p>• O que de melhor um computador faz é receber, processar e</p><p>disponibilizar nomes, valores, fórmulas e textos que, de</p><p>forma genérica, chamamos de dados.</p><p>• Tudo isso, é claro, por meio de um programa.</p><p>Programação Orientada a Objetos</p><p>• O que nos interessa, por ora, são justamente os dados.</p><p>• Santos (2003) nos ensina que o paradigma de programação</p><p>orientada a objetos considera que os dados a serem processados</p><p>e os mecanismos de processamento desses dados devem ser</p><p>considerados em conjunto.</p><p>• Quando representamos elementos reais de forma simplificada e</p><p>padronizada, estamos criando um modelo para esses elementos.</p><p>• Modelos são representações simplificadas de objetos, pessoas,</p><p>itens, tarefas, processos, conceitos, ideias etc., usados</p><p>comumente por pessoas no seu dia a dia, independentemente do</p><p>uso de computadores (SANTOS, 2003, p. 2).</p><p>Programação Orientada a Objetos</p><p>• Os modelos geralmente agregam dados e as operações que</p><p>se aplicam a eles.</p><p>• Dependendo do contexto em que um modelo está inserido, é</p><p>comum que ele assuma certas particularidades.</p><p>• Tomemos como exemplo a representação das informações</p><p>de uma pessoa.</p><p>• Se estivermos tratando de um modelo em que uma pessoa é</p><p>um eleitor, por exemplo, alguns dados serão relevantes e</p><p>outros não.</p><p>Programação Orientada a Objetos</p><p>• Vejamos alguns exemplos:</p><p>• Pessoa considerada como eleitor:</p><p>• Nesse caso, é necessário conhecermos:</p><p>• seu nome, endereço, número de inscrição, zona de</p><p>votação e seção.</p><p>• A operação de alteração de domicílio eleitoral poderia</p><p>ser aplicada nesse modelo.</p><p>Programação Orientada a Objetos</p><p>• Vejamos alguns exemplos:</p><p>• Pessoa considerada como aluno:</p><p>• Para a composição do modelo de aluno, é necessário</p><p>que se tenha:</p><p>• o nome, o número de matrícula, a nota da primeira</p><p>prova, a nota da segunda prova, as faltas e a nota</p><p>final, entre outros dados.</p><p>• Operações como:</p><p>• consultar nota e solicitar revisão de ausências são</p><p>plausíveis nesse contexto.</p><p>Programação Orientada a Objetos</p><p>• Vejamos alguns exemplos:</p><p>• Pessoa considerada como motorista:</p><p>• Nesse caso, as informações de:</p><p>• nome do condutor, número da CNH, histórico de</p><p>multas e data da revalidação devem compor o</p><p>modelo.</p><p>• E as operações de:</p><p>• consulta multas e solicitar revalidação.</p><p>Programação Orientada a Objetos</p><p>• Lembre-se:</p><p>• A inclusão ou não de dados ou operações no modelo</p><p>depende fortemente do contexto.</p><p>• Não faria sentido colocarmos, nos respectivos modelos,</p><p>o dado de salário do condutor do veículo ou a operação</p><p>de consulta de nota para a representação de um eleitor.</p><p>• Embora ambos possam ser necessários em alguma</p><p>circunstância de representação de uma pessoa, no contexto</p><p>em que foram incluídos, não teriam aplicação prática alguma</p><p>e contrariariam o princípio de simplificação ao qual todo</p><p>modelo deve estar sujeito.</p><p>Programação Orientada a Objetos</p><p>• O Java evolui do C++, que evolui do C, que</p><p>evoluiu do BCPL e do B.</p><p>Um pouco de História</p><p>C</p><p>• Originalmente implementada em 1972.</p><p>• Criada por Dennis Ritchie, na Bell Laboratories, a partir de</p><p>uma evolução da linguagem B.</p><p>• Inicialmente tornou-se amplamente conhecida como a</p><p>linguagem de desenvolvimento do sistema operacional UNIX.</p><p>• Hoje, a maior parte do código para sistemas operacionais de</p><p>uso geral é escrita em C ou C++.</p><p>Um pouco de História</p><p>C ++</p><p>• Uma extensão do C.</p><p>• Desenvolvida por Bjarne Stroustrup no início da década de</p><p>1980 na Bell Laboratories.</p><p>• Fornece capacidades de programação orientada a objetos.</p><p>• Linguagem híbrida -> é possível programar tanto no estilo C</p><p>como no estilo orientado a objetos, ou em ambos</p><p>Um pouco de História</p><p>Java</p><p>• Em 1991, percebendo o crescimento da utilização de</p><p>microcomputadores e utilização da WEB, a Sun</p><p>Microsystems financiou um projeto de pesquisa corporativo</p><p>interno, que resultou em uma linguagem baseada em C++</p><p>chamada Java.</p><p>• Esta linguagem foi criada por Criada por James Gosling.</p><p>Um pouco de História</p><p>Java</p><p>• Em 1993, Web explodiu em popularidade.</p><p>• A Sun viu o potencial de utilizar o Java para adicionar</p><p>conteúdo dinâmico a páginas da Web.</p><p>• O Java chamou a atenção da comunidade de negócios por</p><p>causa do enorme interesse pela Web.</p><p>Um pouco de História</p><p>• Programas Java normalmente passam por cinco fases:</p><p>• Editar</p><p>• Compilar</p><p>• Carregar</p><p>• Verificar</p><p>• Executar</p><p>Java</p><p>Java</p><p>Fonte: Java Como Programar 2010</p><p>Java</p><p>Fonte: Java Como Programar 2010</p><p>Orientação</p><p>a Objetos</p><p>A Orientação a Objetos é</p><p>uma tecnologia que enxerga</p><p>os sistemas como sendo</p><p>coleção de objetos</p><p>integrantes. Ela permite</p><p>melhorar a reusabilidade e</p><p>extensibilidade dos</p><p>softwares.</p><p>Orientação a Objetos</p><p>A tecnologia orientada a objetos</p><p>é fundamentada no que,</p><p>coletivamente, chamamos de</p><p>modelo de objetos, que engloba</p><p>os princípios da:</p><p>• Abstração;</p><p>• Herança;</p><p>• Encapsulamento;</p><p>Paradigma</p><p>Orientação</p><p>a Objetos</p><p>A proposta: representar o mais fielmente</p><p>possível as situações do mundo real nos</p><p>sistemas computacionais.</p><p>Considerar os sistemas computacionais</p><p>não como uma coleção estruturada de</p><p>processos, mas sim como uma coleção</p><p>de objetos que interagem entre si.</p><p>Os programas Orientados a objetos são</p><p>programas estruturados em módulos</p><p>que agrupam um estado e operações</p><p>sobre este estado.</p><p>Apresentam ênfase em reutilização de</p><p>código.</p><p>Paradigma Orientação a Objetos</p><p>“Orientação a Objetos consiste em considerar os sistemas</p><p>computacionais como uma coleção de objetos que interagem</p><p>de maneira organizada.”</p><p>Estruturada X Orientação a Objetos</p><p>Princípios gerais de OO</p><p>Objetos Atributos Métodos</p><p>Classes Instanciação</p><p>Objeto Usamos o termo objeto para</p><p>representar um determinado</p><p>elemento do mundo real.</p><p>Mas somente analisaremos os</p><p>objetos que tem relevância para a</p><p>solução de um determinado</p><p>problema.</p><p>Portanto, o objeto é uma entidade</p><p>do mundo real que merece</p><p>representação para o ambiente</p><p>estudado.</p><p>Objeto</p><p>Objetos são instâncias de classes, que</p><p>determinam qual informação um</p><p>objeto contém e como ele pode</p><p>manipulá-la.</p><p>É uma entidade capaz de reter um</p><p>estado (informação) e que oferece uma</p><p>série de operações (comportamento)</p><p>ou para examinar ou para afetar este</p><p>estado.</p><p>É através deles que praticamente todo</p><p>o processamento ocorre em sistemas</p><p>implementados com linguagens de</p><p>programação orientadas a objetos.</p><p>Objeto</p><p>Como exemplos de objetos, podemos</p><p>citar os objetos físicos:</p><p>Um livro;</p><p>Uma mercadoria;</p><p>Funções de pessoas para os sistemas</p><p>(cliente, vendedor, administrador).</p><p>Objeto</p><p>Como exemplo desta aula, consideremos o objeto:</p><p>CACHORRO</p><p>Objeto</p><p>Quais são as características</p><p>de um cachorro?</p><p>Objeto</p><p>Quais são as características</p><p>de um cachorro?</p><p>Características</p><p>Objeto</p><p>Características</p><p>“As características que descrevem um objeto</p><p>são chamadas de atributos”.</p><p>Objeto</p><p>Ações</p><p>Além do conjunto de características que descrevem o cachorro,</p><p>podemos também identificar um conjunto de ações que ele é capaz</p><p>de executar:</p><p>Latir;</p><p>Babar;</p><p>Correr em círculos;</p><p>Pegar a bola;</p><p>Sentar;</p><p>Comer;</p><p>Dormir;</p><p>....</p><p>Objeto</p><p>Ações</p><p>“As ações que um objeto pode executar são</p><p>chamadas de</p><p>métodos ou serviços”</p><p>Latir;</p><p>Babar;</p><p>Correr em círculos;</p><p>Pegar a bola;</p><p>Sentar;</p><p>Comer;</p><p>Dormir;</p><p>....</p><p>Objeto</p><p>“Um objeto representa o mundo real e é composto por</p><p>atributos (características) e métodos (ações)” ;</p><p>• Latir;</p><p>• Babar;</p><p>• Correr em círculos;</p><p>• Pegar a bola;</p><p>• Sentar;</p><p>• Comer;</p><p>• Dormir;</p><p>• ....</p><p>Métodos</p><p>Atributos</p><p>Objeto</p><p>Ações</p><p>“Chamamos de interface ao conjunto de métodos</p><p>disponíveis em um objeto.”</p><p>• Latir;</p><p>• Babar;</p><p>• Correr em círculos;</p><p>• Pegar a bola;</p><p>• Sentar;</p><p>• Comer;</p><p>• Dormir;</p><p>• ....</p><p>Métodos</p><p>Interface</p><p>Atributos de um Objeto</p><p>• Os objetos do mundo real possuem propriedades que possuem</p><p>valores. Estes valores definem o estado do objeto. As</p><p>propriedades recebem o nome de atributos em OO.</p><p>• Podemos dizer que os atributos dos objetos são “variáveis” ou</p><p>“campos” que armazenam os diferentes valores que as</p><p>características dos objetos podem conter.</p><p>Atributos de um Objeto</p><p>Atributos de um Objeto</p><p>Os atributos de um objeto somente mudam de valor através de</p><p>estímulos externos ou internos.</p><p>A única forma de modificar os atributos dos objetos é</p><p>disparando eventos que provocam a transição desses estados no</p><p>objeto.</p><p>Métodos de um Objeto</p><p>Os métodos são funções que realizam as ações próprias do</p><p>objeto. Assim, os métodos são as ações que o objeto pode</p><p>realizar.</p><p>Tudo que o objeto faz é realizado através de seus métodos, pois</p><p>é através dos seus métodos que um objeto se manifesta, e</p><p>através deles que o objeto interage com os outros objetos.</p><p>Ações</p><p>• Latir;</p><p>• Babar;</p><p>• Correr em círculos;</p><p>• Pegar a bola;</p><p>• Sentar;</p><p>• Comer;</p><p>• Dormir;</p><p>• ....</p><p>Métodos</p><p>Exercício</p><p>1 - Crie uma classe com no mínimo 5 atributos e 4 métodos.</p><p>2 – Compartilhe esta classe com o seu colega ao lado. (</p><p>comentem sobre a classse, atributos e métodos)</p><p>3 – Apresente ao professor (será escolhido pelo professor 1</p><p>classe por dupla)</p><p>Obrigado!</p><p>Bons Estudos.</p><p>Slide 1: Programação de Computadores II</p><p>Slide 2: Bibliografia</p><p>Slide 3: Programação Orientada a Objetos</p><p>Slide 4: Programação Orientada a Objetos</p><p>Slide 5: Programação Orientada a Objetos</p><p>Slide 6: Programação Orientada a Objetos</p><p>Slide 7: Programação Orientada a Objetos</p><p>Slide 8: Programação Orientada a Objetos</p><p>Slide 9: Programação Orientada a Objetos</p><p>Slide 10: Um pouco de História</p><p>Slide 11: Um pouco de História</p><p>Slide 12: Um pouco de História</p><p>Slide 13: Um pouco de História</p><p>Slide 14: Um pouco de História</p><p>Slide 15: Java</p><p>Slide 16: Java</p><p>Slide 17: Java</p><p>Slide 18: Orientação a Objetos</p><p>Slide 19: Orientação a Objetos</p><p>Slide 20: Paradigma Orientação a Objetos</p><p>Slide 21: Paradigma Orientação a Objetos</p><p>Slide 22: Estruturada X Orientação a Objetos</p><p>Slide 23: Princípios gerais de OO</p><p>Slide 24: Objeto</p><p>Slide 25: Objeto</p><p>Slide 26: Objeto</p><p>Slide 27: Objeto</p><p>Slide 28: Objeto</p><p>Slide 29: Objeto</p><p>Slide 30: Objeto</p><p>Slide 31: Objeto</p><p>Slide 32: Objeto</p><p>Slide 33: Objeto</p><p>Slide 34: Objeto</p><p>Slide 35: Atributos de um Objeto</p><p>Slide 36: Atributos de um Objeto</p><p>Slide 37: Atributos de um Objeto</p><p>Slide 38: Métodos de um Objeto</p><p>Slide 39: Exercício</p><p>Slide 40</p>