Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Documentos relacionados
Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Computador Digital Circuitos de um computador (Hardware)

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Adriano Reine Bueno Rafael Barros Silva

Linguagens de. Aula 02. Profa Cristiane Koehler

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Implementando uma Classe e Criando Objetos a partir dela

Um pouco do Java. Prof. Eduardo

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Sistemas Operacionais. Prof. André Y. Kusumoto

Introdução à Programação Orientada a Objetos

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Programação Orientada a Objetos

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Programação Orientada a Objeto

Programação de Computadores - I. Profª Beatriz Profº Israel

CURSO DE PROGRAMAÇÃO EM JAVA

Desenvolvimento Web TCC Turma A-1

Java para Desktop. Introdução à Plataforma Java JSE

Programação de Computadores II TCC Turma A-1

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

FBV - Linguagem de Programação II. Um pouco sobre Java

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Lógica de Programação

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

GBD PROF. ANDREZA S. AREÃO

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução a Java. Hélder Nunes

1. Apresentação Objetivos

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Java. Marcio de Carvalho Victorino

Análise e Projeto Orientados por Objetos

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

MINISTÉRIO DA EDUCAÇÃO

Java Como Programar, 8/E

Introdução à Linguagem Java

Sistemas Distribuídos

Computação II Orientação a Objetos

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Projetar Arquitetura

Ferramentas: jar e javadoc

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Java Básico. Aula 1 por Thalles Cezar

JAVA Orientação a Objetos. Usando diálogos com JOptionPane

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama

Análise e Projeto Orientado a Objetos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Introdução à Engenharia de Computação

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Programação Orientada a Objetos (DPADF 0063)

UFG - Instituto de Informática

2 Orientação a objetos na prática

Sistemas Distribuídos: Conceitos e Projeto Java RMI

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Linguagens de. Aula 01. Profa Cristiane Koehler

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

LINX POSTOS AUTOSYSTEM

Atualizações de Software Guia do Usuário

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Introdução à Computação: Sistemas de Computação

Invocação de Métodos Remotos

Exemplos práticos do uso de RMI em sistemas distribuídos

Programa Analítico. Introdução. Origens da programação Orientada a Objetos. Paradigma procedural. Paradigma Orientado a Objetos.

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

PROGRAMAÇÃO JAVA. Parte 1

Organização de Computadores Software

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Protótipo de ferramenta para monitoração de computadores utilizando o padrão de gerência WMI da Microsoft e a plataforma de desenvolvimento.

Universidade Federal Fluminense UFF Instituto de Computação IC Professor: Orlando Loques Aluno: Alexsandro Mattos Corradi

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Banco de Dados Orientado a Objetos

Sistemas Operacionais

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

Casos de uso Objetivo:

LINGUAGEM ORIENTADA A OBJETOS

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Projeto ECA na Escola - Plataforma de Educação à Distância

Orientação a Objetos com Java

Transcrição:

Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres

Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si de diversas maneiras; Um programa orientado a objetos é estruturado como uma comunidade de agentes que interagem entre si, denominados objetos.; Cada objeto tem um papel a cumprir; Cada objeto oferece um serviço ou realiza uma ação que é usada por outros membros da comunidade; Exemplo real: montagem de um computador

Introdução a Orientação a Objetos Cada componente é independente dos demais. Para quem está montando, interessa apenas como os componentes interagem entre si: a placa de vídeo encaixa no slot? O monitor funciona com essa placa? A CPU é compatível com a placa-mãe?

O que você entende por essas figuras??? Se você usar a OO, o que você entende por essas figuras??

Fase 1 Editor Disco O programa é criado no editor e armazenado em disco. Fase 2 Fase 3 Compilador Disco O compilador cria bytecodes e os armazena em disco. Carregador de Classes Disco Memória Principal. O carregador de classe coloca bytecodes na memória... Fonte: Deitel & Deitel, 2003.

Fase 4 Verificador de bytecodes Memória Principal. O verificador de bytecodes confirma que todos os bytecodes são válidos e não violam restrições de segurança do Java.. Fase 5 Intepretador Memória Principal.. O interpretador lê os bytecodes e os traduz para uma linguagem que o computador pode entender, possivelmente armazenando valores dos dados enquanto executa o programa.. Fonte: Deitel & Deitel, 2003.

Elementos da Programação Tradicional no Programa // Nosso primeiro programa Java // Conhecendo a estrutura de um programa Java public class MeuPrimeiroPrograma { public static void main (String arg[]) { System.out.println("Olá Aluno de JAVA"); } // fim do método main } // fim da classe MeuPrimeiroPrograma Função Principal. Programas em Linguagem C e C++ buscam seu início pela função principal (main()). Parâmetros. Parâmetros em funções permitem que essas iniciem com valores recebidos externamente, para variáveis que utilizarão internamente.

Elementos da Orientação a Objetos no Programa // Nosso primeiro programa Java // Conhecendo a estrutura de um programa Java public class MeuPrimeiroPrograma { public static void main (String arg[]) { System.out.println("Olá Aluno de JAVA"); } // fim do método main } // fim da classe MeuPrimeiroPrograma Classe. Como qualquer programa JAVA, esse programa exige uma classe (palavra reservada class ). O fato de ser pública (palavra public ) garante visibilidade em qualquer contexto de sua utilização Biblioteca. A organização das classes JAVA se dá na forma de bibliotecas. Nesse programa utilizamos a biblioteca padrão da linguagem JAVA (biblioteca java.lang) Método. A impressão da mensagem Olá Aluno de Java se deu pela execução do método println da classe System. Objeto. Para imprimirmos a mensagem de saída de nosso programa precisamos de um objeto out da classe System da biblioteca padrão java.lang

Estrutura de um Programa Java package meupacote; import java.lang.*; Package. Utilizado quando o código do programa deverá fazer parte de um pacote. Import. Seção de importação de bibliotecas. /** Nosso primeiro programa Java Conhecendo a estrutura de um programa Java */ Comentários. Com sintaxe //... para comentários simples ou /*... */ e a mais recente /**.. */ que permite geração de documentação automática (ferramenta javadoc) public class MinhaClassePublica { /** Comentário sobre o método */ public (private/protected) tiporet nomemetodo(<parametros>) { // código do método } // fim da definição do método } // fim da classe Método main(). Indica que a classe Java é um aplicativo que será interpretado pela máquina virtual. Classes. Declaração de classes, atributos e métodos do programa Java. A declaração e a definição dos métodos ocorre obrigatoriamente dentro do limite de declaração da classe.

// Comentários: Use comentários para esclarecer conceitos utilizados no programa. Utilize: // para comentários de linha única /*. */ para comentários de várias linhas /**.*/ em ambos os casos e quando desejar incluir o texto na documentação de seu programa (javadoc). Sempre inicie seus programas com comentário descrevendo o propósito do mesmo. public class MeuPrimeiroPrograma {.. } Classes são tipos de dados declarados com a palavra reservada class. Cada arquivo.java deve ter somente uma classe pública e essa deve ter o mesmo nome do arquivo

public static void main (String args[]) {.} O método main() faz parte de todo aplicativo Java; Deve estar entre os métodos da classe pública e será sempre por onde o aplicativo se inicia. Os argumentos passados ao método main() são uma lista de objetos da classe String, separados por espaços em branco. System.out.println ( parâmetros ) & System.out.print(...) System.out é o objeto de saída padrão em Java Permite exibir strings e outros tipos de informações na Janela de Comando (console do sistema operacional) System.out.println() exibe seus parâmetros e pula uma linha

javac MeuPrimeiroPrograma.java Compila o arquivo.java, gerando o arquivo.class, que contém o bytecode da classe. java MeuPrimeiroPrograma Executa o programa Java start java MeuPrimeiroPrograma Executa o programa Java em uma nova janela set CLASSPATH=C:\dir1;C:\dir2;. Define os locais onde a JVM vai procurar por pacotes e classes Java

Histórico da POO Grandes mudanças ao longo dos anos => acomodar o aumento da complexidade dos programas; FORTRAN: primeira linguagem de alto nível difundida; Anos 60: Programação Estruturada (C e Pascal): No Início: razoavelmente fácil escrever programas complexos; Projetos grandes: difícil e muito custoso efetuar manutenção e fazer modificações; Solução: criação da POO; POO: aproveitou as melhores idéias da programação estruturada e combinou-as com novos conceitos permitindo que um problema seja mais facilmente decomposto em subgrupos relacionados; UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 14

Histórico da POO 1966: linguagem Simula67 (Noruega) primeira linguagem OO; Década de 70: SmallTalk (Centro de Pesquisas da Xerox); Início década 80: AT&T lança a Linguagem C++; 1995: Java; POO: ênfase está na simulação de modelos de sistemas ; Atualmente: Maioria das linguagens incorpora características de OO; Conceitos de OO em SO (Windows 2000); Conceitos de OO em Banco de Dados relacionais (Oracle); Banco de Dados totalmente OO (ObjectStore); UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 15

Paradigma Estrutural X Paradigma OO Programação Estruturada: Aplicação separada em duas partes: dados e funcionalidade; Programação OO: Aplicação definida como uma coleção de objetos que se interagem; Objeto Objeto Funções e Procedimentos Dados Objeto Objeto Aplicação Estruturada UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L Aplicação Orientada a Objetos 16

Paradigma Estrutural X Paradigma OO Modelagem estruturada Modelagem OO Foco: algoritmos Foco: objetos Estruturas de dados e processamento Dados (atributos) e comportamento (métodos) Funções e procedimentos Classes e relacionamentos Diagramas de fluxos de dados, bolhas Diagramas de classes, objetos, colaboração Decomposição funcional Análise e desenho estruturados Divisão de responsabilidades Análise e desenho orientados a objetos UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 17

Definição da POO É a programação implementada pelo envio de mensagens a objetos. Cada objeto irá responder às mensagens conhecidas por este, e cada objeto poderá enviar mensagens a outros, para que sejam atendidas, de maneira que ao final do programa, todas as mensagens enviadas foram respondidas, atingindo-se o objetivo do programa; Obs: A utilização de uma linguagem que tem como paradigma a orientação a objetos, não gera automaticamente um sistema ou programa orientado a objetos. UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 18

POO X POE POE - Programação Orientada a Eventos; POO contém a POE mas a POE não contém a POO; Java é uma linguagem de POO, que utiliza eventos na implementação de interfaces gráficas. Delphi é uma linguagem de POE. Eventos são associados a objetos; UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 19

Sobre a Tecnologia Java A Tecnologia Java é tanto uma linguagem de programação quanto uma plataforma. Palavras-chaves de Java: Simples Orientada a Objetos Distribuída Interpretada Robusta Segura Indiferente da Arquitetura Portável Alta Performance Suporta Concorrência Dinâmica Nota: Cada uma das palavras-chave acima, são explicadas com detalhes em The Java Language Environment. UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 20

Sobre a Tecnologia Java Como a linguagem trabalha: UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 21

Sobre a Tecnologia Java A plataforma Java: The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API) Nota: A figura acima mostra um programa rodando sobre a plataforma Java. Como a figura mostra a API Java e a máquina virtual isola o programa do hardware. UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 22

O que a Tecnologia Java pode fazer? Essencial: Objetos, strings, threads, números, entrada e saída, estrutura de dados, propriedades do sistema, data e hora, e outras. Applets: Conjunto de convenções usadas pelos applets. Networking: URLs, TCP (Transmission Control Protocol), UDP (User Datagram Protocol) sockets, e endereçamento IP (Internet Protocol). Internacionalização: Suporte para escrever programas que podem ser localizados para usuários no mundo todo. Programas podem automaticamente se adaptar a locais específicos e serem apresentados na língua apropriada. Segurança: Tanto baixo nível quanto alto nível, incluindo assinaturas digitais, gerenciamento de chaves privadas e públicas, controle de acesso e certificados. Componentes de Software: Conhecidos como JavaBeans TM, podem ser plugados em uma arquitetura de componentes existente. Serialização de Objetos: Permite persistência leve e comunicação via Remote Method Invocation (RMI). Conectividade com banco de dados (JDBC TM ): Provê acesso uniforme a uma grande variedade de bancos de dados relacionais. UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 23

Principais vantagens Escrever menos código; Escrever um código melhor; Desenvolver programas de forma mais rápida; Evitar dependência de plataforma; Write once, run anywhere ; Desenvolver softwares distribuídos de forma mais fácil; UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 24

Referências Filho, Renato Rodrigues; Desenvolva Aplicativos com Java 2 / Renato Rodrigues Filho. 1. ed. São Paulo: Érica, 2005. Santos, Rafael; Introdução a Programação Orientada a Objetos Usando Java / Rafael Santos Rio de Janeiro: Campus, 2003. Material no site editora. Deitel, H.M; Java Como Programar. Ed. Bookman, 2005. The Java Phenomenon (The JavaTutorial): http://java.sun.com/docs/books/tutorial/getstarted/intro/index.html Nota: O material da apresentação foi extraido de algumas das fontes aqui apresentadas UNIP-Curso: Ciência da Computação (1sem/ 2009) - Disciplina: Linguagem de POO - 1 74L 25