PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*



Documentos relacionados
Programação Orientada a Objetos (DPADF 0063)

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

Introdução à Linguagem Java

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

Desenvolvimento Web TCC Turma A-1

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

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Programação Orientada a Objetos

Linguagem de Programação Introdução a Linguagem Java

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

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

Linguagens de. Aula 02. Profa Cristiane Koehler

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

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

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

Orientação a Objetos com Java

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

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

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

Orientação a Objetos e a Linguagem Java

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Aspectos de Segurança em Programação com Java

PROGRAMAÇÃO JAVA. Parte 1

Programação Orientada a Objetos

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

Programação de Computadores II: Java. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

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

Capítulo 8. Software de Sistema

Java Linguagem de programação

Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta

Introdução. Sumários. Objectivos da cadeira. História das linguagens de programação. Classificação das Linguagens de programação

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Objetivos do Curso. Você será capaz de:

O Hardware e o Software do Computador

Programação Orientada a Objetos

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

Daniel Wildt FACENSA Grupo de Estudos Java - FUJA Slide: 1

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

Java. Guia do Programador. Peter Jandl Junior. Novatec

Marco Aurélio Uma Visão Geral Sobre Plataforma Java

Sistemas Operacionais 1/66

Tecnologia Java. Helder darocha

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

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

Sistemas Operacionais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

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

1. Apresentação Objetivos

Introdução a Linguagem

Programação de Computadores III

Sobre C. Linguagem de Programação C

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Sistemas Distribuídos

IIH Introdução à Informática e Hardware

Linguagens de Programação. Introdução. Carlos Bazilio

4 Estrutura do Sistema Operacional Kernel

Programação Orientada a Objetos

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Paradigmas de Linguagens de Programação

FundamentosemInformática

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Java Básico. Aula 1 por Thalles Cezar

Interface Homem Máquina para Domótica baseado em tecnologias Web

LINGUAGEM DE PROGRAMAÇÃO Material de apoio - Aula II (25/02/2008) - Profº Sidney Leal

Programação por Objectos

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

EVOLUÇÃO DAS TECNOLOGIAS

Desenvolvimento de Software I

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução ao Processamento de Dados (IPD)

Sistemas Operacionais. Conceitos de um Sistema Operacional

Curso Técnico em Redes

Introdução. Paradigmas de Linguagens de Programação. Heloisa de Arruda Camargo. Motivos para estudar os conceitos de linguagens de programação

Prof. Luis Nícolas de Amorim Trigo

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso

Material 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni

J2EE TM Java 2 Plataform, Enterprise Edition

INTRODUÇÃO À LINGUAGEM C/C++

IB I M B - PC ( C ( P C U U

AULA 1 INTRODUÇÃO AO JAVA

MC-102 Aula 01. Instituto de Computação Unicamp

Sistema de Gestão Comercial Plataforma GSAN. Documento de Procedimento de Instalação

Programação para Web Artefato 01. AT5 Conceitos da Internet

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Programação de Computadores

Edeyson Andrade Gomes

Transcrição:

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Objetivo das linguagens de programação As linguagens de programação são, em sua maioria, criadas para tratar problemas sob determinado enfoque: FORTRAN Científica; COBOL Economia; PROLOG, LISP Inteligência artificial; CLIPPER Banco de dados C e C++: para todas as áreas; Em especial na construção de outros ambientes; Java: para todas as áreas Em especial para Internet, sistemas em rede e computação móvel 2

Árvore genealógica das linguagens Simula Smaltalk Borland Algol Pascal Pascal objects Delphi Objective\ C 1960 1965 1970 1975 1980 1985 1990 1995 2000 BCPL B Sun Microsoft Java C# CPL C C++ ANSI AT&T Bell AT&T Bell C++ Orientação a objetos Análise orientada a objetos ISO C++ UML Programação Estruturada Projeto Estruturado Análise Estruturada Fonte: Montenegro, F; grupo Stela/UFSC 3

A família da linguagem JAVA Algol 1960 Simula 1967 CPL 1963 Pascal 1970 Smaltalk 1972 BCPL 1968 B 1970 AT&T Bell Pascal Objects 1993 Delphi 1995 ANSI C 1983 C 1972 AT&T Bell Objective C 1978 ANSI C++ 1994 ISO C++ C++ 1998 1980 AT&T Bell Fonte: Montenegro, F; grupo Stela/UFSC Java 1996 SUN C# 2001 Microsoft 4

Breve histórico Projeto Green : 1991 James Gosling e engenheiros da Sun; Objetivo: criar programas para controlar produtos eletrônicos; Linguagem Oak, baseada em C++ Tentativa frustrada: Controle remoto inteligente não obteve patrocínio Influência da web: 1994: HotJava utilizando as funcionalidades adicionais do Java (independência de plataforma, confiabilidade, segurança, processamento em tempo real, etc); 1995: Netscape Navigator 20, compatível com Java 10 5

Princípios da linguagem Java Java é: Mais que uma linguagem de programação; Uma completa plataforma de soluções para tecnologia Portabilidade de código (Write once, run everywhere!); Possibilita desenvolver programas multitarefas (multithreading); Faz verificação automática do código carregado para garantir segurança; Linguagem orientada a objetos; Não suporta herança múltipla interface; Arrays verdadeiros ausência de aritmética de ponteiros 6

A tecnologia Java A tecnologia Java é composta por uma gama de produtos, baseados no poder das redes e na idéia de que um software deveria ser executado em diferentes máquinas, sistemas e dispositivos; Programas em Java são executados em diferentes ambientes graças à Java Virtual Machine(JVM); A tecnologia Java é subdividida em: J2SE (Java 2 Standard Edition); J2EE (Java 2 Entrerprise Edition); J2ME (Java 2 Mobile Edition); Java Card; Java Web Services 7

A tecnologia Java J2SE: Contém as classes principais da plataforma Java (Core Java Plataform); SDK: compilador, debugger, gerador de documentação (Javadoc), empacotador (jar) e a JRE (JVM + outros componentes J2EE: Não é um produto, mas sim uma especificação definida pela Sun; Simplifica o desenvolvimento de aplicações empresariais em multi- camadas (regras de negócio, interface e banco de dados); Baseada em componentes padronizados, modulares e reusáveis (EJB) J2ME: Dispositivos móveis: celulares, PDAs; Java Card: Possibilita executar pequenos applets Java, com segurança, em dispositivos com processamento e armazenamento limitados Java Web Services: Baseada em XML e muito utilizada em sites de e-commerce 8

A Máquina Virtual Java (JVM) Uma Máquina Virtual é uma máquina imaginária que é implementada pela sua simulação em uma máquina real; O código para a Máquina Virtual Java está armazenado em arquivos class, cada um contendo código para ao menos uma classe; A JVM interpreta byte codes (são independentes de plataforma de hardware); A JVM pode ser implementada em software ou hardware (computação móvel); Byte codes tornam a linguagem Java portável para diversas plataformas; Qualquer interpretador Java tem sua máquina virtual 9

A Máquina Virtual Java (JVM) Cabe ao interpretador Java de cada plataforma de hardware específica assegurar a execução do código compilado para a JVM 10

O que há na JVM? Conjunto de instruções (equivalente a uma CPU); Conjunto de registradores; Arquivo no formato class; Pilhas; Coletor de lixo (Garbage Collection); Área de memória O código executado pela JVM são byte codes compactos e eficientes A maior parte da checagem de tipo é feita em tempo de compilação 11

Garbage Collection (Coletor de Lixo) Nas linguagens tradicionais a liberação da memória alocada dinamicamente fica sob responsabilidade do programador; Java fornece um sistema a nível de thread para registrar a alocação de memória e liberar a memória que não está sendo utilizada; A JVM utiliza uma thread de baixa prioridade da biblioteca System (Systemgc()); Ela pode também ser chamada de forma explícita pelo programador 12

Garbage Collection (Coletor de Lixo) A Linguagem Java realiza a liberação de memória, que antes era responsabilidade do programador 13

Fundamentos da linguagem Java Programas em Java quando compilado código intermediário (bytecode); Este código é verificado e carregado na memória para então ser interpretado pela JVM; O Java NÃO gera executáveis 14

Visão geral 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 15

Visão geral 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 Fonte: Deitel & Deitel, 2003 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 16

Não se esqueça de preparar o ambiente Instale o SDK compatível com seu SO: Download em http://javasuncom Crie uma variável de ambiente chamada JAVA_HOME, que deve guardar o caminho da pasta onde o Java foi instalado e adicione o caminho para os programas do Java no PATH do seu SO; No Windows: SET JAVA_HOME=C:\JDK16u22 SET PATH=%PATH%;%JAVA_HOME%\bin No Linux: export JAVA_HOME=/usr/java/jdk16u22 export PATH=$PATH:%JAVA_HOME%/bin 17