Introdução a Programação Orientada a Objetos Prof. Grace Programação de computadores 2 Programação de computadores Instruções para computadores realizar tarefas. Linguagens de alto nível => linguagem de máquina Paradigma de programação 3 – Estruturado – Orientado a objetos Mecanismos de tradução – Código compilado – Código interpretado – Recurso Just-in-time (JIT) Mecanismo de tradução no JAVA 4 Programação Orientada a Objetos 5 Programação modular (LEGO) Componentes reutilizáveis => objetos Abordagem considera novos conceitos: – Classes e objetos – Encapsulamento – Herança e porlimorfismo Maior produtividade (reuso, modificação, correção) Engloba a programação estruturada Objetos e Classes Mundo real está repleto de objetos Agrupamos objetos semelhantes em classes Carro Pessoa 6 Em Programação Orientada a Objetos Objeto Classe X Abstração Molde 7 Concreto Ocorrência real Instância Membros de uma Classe Uma classe é composta por: Comportamentos ou Métodos ou funções Dados ou variáveis operações Características ou OU atributos (modelo) 8 (implementação) Encapsulamento 9 O que é? – Uma das principais características da P. O. O. – Envolve atributos (dados) e operações (funções) numa única estrutura (objeto) – Permite ocultação de informações (visibilidade) – Comunicação por meio de uma interface pública – Ex.: Relógio Relógio Mostrar horário (horas/ minutos/ segundos) 10 Várias tecnologias possíveis para máquina interna (encapsulamento) Interface para ajuste horas/ minutos/ segundos (operações públicas) Porque encapsular e ocultar? - - - Capacidade de usar sem conhecer detalhes internos Alterações na implementação não afetam cliente - 11 Criamos classes para “clientes” (reuso) Garantia de acesso seguro aos dados Herança 12 Compartilham similaridades entre classes Preservam suas diferenças Podem compartilhar implementação de código Ou apenas a estrutura e os conceitos Herança - Mamíferos Mamar ( ) 13 Herança X Polimorfismo área( ) Formas geométricas área = π x r2 área = (b x h)/2 área = b x h 14 Linguagens O. O. 15 Simula 67 Smalltalk C++ Java Ruby Python C# Linguagem Java 16 Programas compostos por classes – Programadas por nós, programadores – Bibliotecas: Java API´s (Sun; outros fornecedores) Vantagem de reuso: não precisamos reinventar a roda Desvantagem: a “roda” já existente pode não ser adequada => precisamos programar nossas “rodas” Plataforma JAVA 17 Ambiente computacional da Sun Microsystems para execução e desenvolvimento de softwares independentes de sistema operacional. Ambiente de execução de aplicações Java – JRE (Java Runtime Environment) – JVM (Java Virtual Machine) – API´s Plataforma JAVA 18 Ambiente de desenvolvimento – JDK (Java Development Kit) – Conjunto de utilitários para desenvolvimento de software para plataforma Java – Inclui: compilador (código fonte Java para bytecode) e o ambiente de execução JRE – Não inclui: ferramentas integradas de desenvolvimento (IDE) Ferramentas Integradas IDE – Integrated Development Environment – – – – Mais simples e leves: – JCreator; JGrasp; BlueJ; Mais complexos e pesados: – 19 Editor Compilador Execução Debug NetBeans; Eclipse; Processo de desenvolvimento JAVA 20 Múltiplas plataformas 21 Tecnologias JAVA 22 Java SE – Java Standard Edition: básico Java EE – Java Enterprise Edition: aplicações corporativas e Internet (inclui JSE) Java ME – Java Micro Edition: dispositivos eletrônicos compactos e móveis; Novas Tecnologias 23 Java SE for Business; Java Real-Time Systems; Java Card Technology; JavaFX: para aplicações interativas; JavaFX Mobile; Próxima aula Introdução a programação Java – – 24 JGrasp Exercícios em laboratório