Upload
internet
View
109
Download
0
Embed Size (px)
Citation preview
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é um paradigma de programação?O que é orientação a objetos?O que é Java?Histórico e versões da linguagemCaracterísticasFontes de consulta na webEstrutura de um programa JavaBiblioteca de classesPrimeiros programas
Introdução à Programação OO Usando JavaProfa. Isabel Harb Manssour(Material adaptado das aulas dos Profs. Luciana Porcher Nedel, Júlio Pereira Machado e Bernardo Copstein)
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é um paradigma de programação?
As linguagens de programação podem forçar um certo “estilo” de programação
Exemplo: Linguagem de programação C Execução seqüencial Variáveis e comandos de atribuição Comandos de repetição Comandos de seleção Conjunto de funções
Paradigma de Programação
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é um paradigma de programação?
É um padrão conceitual que orienta soluções de projeto e implementação
Paradigmas explicam como os elementos que compõem um programa são organizados e como interagem entre si
Exemplos de paradigmas Procedural Orientado a objetos Funcional Concorrente
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é orientação a objetos?
Foco está nos dados e nas operações sobre os dados, e não sobre procedimentos
É baseada na modelagem de objetos do mundo realO que é um objeto?
Uma entidade que você pode reconhecer Uma abstração de um objeto do mundo real Uma estrutura composta de dados (“estado local”) e
operações (executa processamentos) Recebe e envia mensagens
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é orientação a objetos?
Componentes básicos do paradigma OO: classes: encapsulam dados e operações,
relacionam-se com outras classes por herança e associações
objetos: instâncias de classes, têm estado e comportamento
mensagens: trocas de informação entre objetos
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é orientação a objetos?
Objeto Possui características (atributos) e comportamento
(operações). Exemplo: caneta
características: cor da tinta, quantidade de tinta, etc.comportamento: escrever, recarregar, etc.
Exemplo: carrocaracterísticas: cor, modelo, ano, etc.comportamento: acelerar, frear, etc.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é orientação a objetos?
veículoveículo
MarcaMarcaPlacaPlaca
ler_placaler_placa
classeclasse
FerrariFerrariIDN8810IDN8810
Fiat UnoFiat UnoIAS3333IAS3333
instânciasinstâncias
veículosveículos
objeto1objeto1
objeto2objeto2
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é orientação a objetos?
Um programa orientado a objetos é estruturado como uma comunidade de objetos que interagem entre si
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: motorista e um carro
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
O que é Java?
Ilha da IndonésiaCafé
Tipo de café importadoLinguagem de programação
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
1991 Patrick Naughton, Mike Sheridan e James Gosling
criaram a linguagem em 1991, no ¨GreenProject¨ da Sun;
Uma equipe de 13 pessoas (o ¨Green Team¨) se trancou num escritório na Sand Hill Road em Menlo Park. Eles cortaram as comunicações com a Sun e trabalharam 18 meses sem parar;
O objetivo do “Green Team” era desenvolver software para controlar eletrodomésticos (TVs interativas, torradeiras interativas, etc.);
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
S.O. para o controle de uma rede de eletrodomésticos; Idéia inicial: usar C++ Objetivos: linguagem pequena, eficiente e facilmente
portável; Linguagem Oak; O surgimento da Web redirecionou Oak dando origem a
Java.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
1994 Criado um navegador que permitia executar applets
Java: HotJava
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
1995 Em 23/05, John Gage, diretor da Sun Microsystems e
Marc Andreessen, da Netscape, anunciaram que a linguagem já era realidade e seria incorporada ao Navigator;
Novembro: A linguagem Java foi disponibilizada pela 1ª vez: JDK 1.0 (Java Development Kit)
Adoção de Java na Web: segurança applets rodam em um ambiente controlado (browsers)
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
1997 JDK 1.1 (http://java.sun.com) Nova forma de tratar os eventos JDBC (acesso a banco de dados) Swing (modelo de interface independente de
plataforma) Java 3D
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
Ambientes de programação: Visual J++ (Microsoft), JBuilder (Borland), Visual Café (Symantec), Kawa, BlueJ, Java Workshop (SunSoft), SuperCede, JFactory (Rogue Wave), ...
Crescimento da linguagem (parte do público Web migrou para soluções mais simples JavaScript e VBScript)
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
1999 JDK 1.2 ou Java 2 Correção de bugs, otimização e sedimentação dos
conceitos Possibilidade de fazer “drag and drop” Revisão dos recursos de áudio
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
Observação A partir da versão 1.2 a SUN passou a chamar seu
pacote de SDK (System Development Kit) Porém, o nome JDK continua a ser usado no lugar de
SDK, até mesmo pela SUN (exemplo: o SDK 1.3 é instalado em um diretório chamado JDK1.3 : )
SDK é oferecido em duas versões:Standart Edition: voltada ao desenvolvimento de applets,
aplicações stand alone ou aplicações clienteEnterprise Edition: reune um conjunto de tecnologias
voltadas para o desenvolvimento de aplicações servidoras
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Histórico e versões da linguagem
Java 1.0.2: a mais suportada pelos browsers
Java 1.1.5: 1o Semestre de 97. Aprimoramento na interface com o usuário e tratamento de eventos
Java 2: versão atual. Lançada em dezembro de 98.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Java é tanto uma linguagem de programação de alto nível quanto uma plataforma.
Como linguagem, Java éOrientada a objetos Independente de arquitetura (multiplataforma)PortávelRobustaSegura InterpretadaDistribuídaetc.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Java é tanto compilada quanto interpretada. O compilador transforma o programa em bytecodes (instruções de máquina compreendidas pela Java Virtual Machine), que são transformados em linguagem de máquina pelo interpretador.Java Program
MyProgram.javaM
yPro
gram
.clas
s 0010011101
Compiler
Interpreter
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Como plataforma, Java compreende uma JVM (Java Virtual Machine - interpretador Java - runtime Java) e uma API (Java Application Programming Interface)
Interpreter
Java ProgramMyProgram.java
Compiler
Interpreter Interpreter
Java Virtual Machine
PC-compatible
Windows NTSun Ultra Solaris Power Macintosh
System 8
javac.exe
java.exe
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Os bytecodes são o que torna possível o slogan criado pela Sun:
“Write once, run anywhere”
A linguagem permite a escrita de programas que podem executar em web pages ou rodar normalmente em qualquer computador que suporte Java
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Pode ainda ser executada em televisões, relógios de pulso e telefones celulares
Java herda grande parte dos conceitos de Orientação à Objetos do C++, linguagem em que está baseada. Mais simples, menos propensa a erros e mais fácil de aprender que o C.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Existem 3 tipos de programas em Java: Applications (programas normais ordinários)
console applications: suportam saída em modo textowindowed Java applications: cria e gerencia múltiplas
janelas, usa mecanismos de GUI (Graphical User Interface) para programação em janelas.
Applets (programas em web pages)atualmente existe mais de 1 milhão de páginas na web
incluindo applets JavaJava 1.0.2: suportado pela maioria dos browsers
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
ServletsAplicações cliente-servidorExecuta no servidor (ao contrário dos applets)Estende a funcionalidade de um servidor
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Problema: Para ter flexibilidade e segurança, abre-se mão do
tempo de execução; Um programa Java típico roda 10 vezes mais lento que
um programa equivalente em linguagem nativa; Mas… se o seu ambiente Java suportar JIT (Just-in-
time compilation), o problema está resolvido.Compiladores JIT convertem programas Java para
linguagem de máquina nativa assim que os mesmos são lidos.
Penalidade: a leitura dos programas se torna mais lenta.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Futuro da linguagem Java A idéia principal por trás da plataforma (linguagem +
ambiente) Java é a portabilidade. A integração entre dispositivos diferentes, como computadores e torradeiras, saiu do campo da ficção científica diretamente para os laboratórios.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Java Real Machine - foi desenvolvido um processador Java (o JavaChip) que permite executar os bytecodes diretamente. Um chip como esse pode equipar diversos aparelhos domésticos. Já existem protótipos de sistemas de navegação para veículos, sistemas embutidos, smart cards, vídeo-fones, etc.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Características
Nos negócios, a possibilidade de integrar facilmente sistemas com arquiteturas diferentes à Internet é uma grande vantagem.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Fontes de consulta na web
http://java.sun.com (site oficial)http://www.gamelan.com/ (código e tutoriais)
http://www.javaworld.com/ (notícias)http://www.javareport.com/ (revista)
http://www.sys-con.com/ (Java Developers Journal)
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Fontes de consulta na web
http://www.javabr.com.br/ (Clube Java Brasil)http://www.gojug.com.br/ (Java User Group - GO)
http://www.dfjug.org/ (JUG DF)http://www.soujava.org.br (JUG Sucesu-SP)http://www.gujava.cjb.net/ (JUG Sucesu-MG)http://www.javaman.com.br (página pessoal)
http://www.cade.com.br/intjava.htm (seção do Cadê)
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Estrutura de um Programa Java
Um programa Java é um conjunto composto por uma ou mais classes
Tipicamente, cada classe é implementada em um arquivo fonte separado, sendo que o arquivo deve ter o mesmo nome da classe Exemplo: a classe Veiculo deve estar definida no arquivo
Veiculo.javaEm geral, os arquivos que compõem um programa
Java devem estar no mesmo diretório
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Biblioteca de Classes
Coleção de classes predefinidas que provêem uma série de facilidades que podem ser usadas em programas
Classes são agrupadas em conjuntos chamados pacotes (packages)
Pacotes são referidos coletivamente como biblioteca de classes Java ou interface de programação de aplicativos Java (Java applications programming interface - Java API)
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Biblioteca de Classes
Instrução import é usada para identificar e carregar classes requeridas
Exemplos de pacotes: java.lang: inclui classes básicas, manipulação de arrays e
strings. Este pacote é carregado automaticamente pelo programa
java.io: operações de input e output java.awt: suportam aplicações em janelas java.util: classes diversas para manipulação de dados
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Primeiros programas
// Primeiro programa Java
public class HelloPeople {
public static void main (String args[])
{
System.out.println(“Hello People!”);
}
}
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Primeiros programas
Observações: class: palavra reservada que marca a declaração de
uma classe (cada programa java consiste de pelo menos uma definição de classe).
public: especificador (globalmente acessível) static: especificador que indica que o método deve ser
compartilhado por todos os objetos criados a partir dessa classe. Indica que o método é acessível mesmo se não houverem objetos definidos.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Primeiros programas
O main é sempre static posto que é chamado sem que se crie nenhum objeto de sua classe.
void: valor de retorno da função. System.out.println: chamado do método println para o
atributo out (standard output: objeto membro da classe System) da classe ou objeto System (classe standard). O argumento é uma constante do tipo String.
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Primeiros programas
// Segundo programa Java
import java.io.*;
public class Quadrado {
public static void main (String args[])
{
int i;
System.out.println(“Numero \t Quadrado”);
for (i=1; i<=10; i++)
System.out.println(i + "\t " + i*i);
}
}
Introdução à Programação OO Usando Java - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour
Primeiros programas
C:\> javac Quadrado.java
C:\> java Quadrado
Numero Quadrado1 12 43 94 165 256 367 498 649 8110 100