Aula 01:Começando com Java
Objetivos: Compreender o que é Java, OO e suas vantagens;
Entender os procedimentos para criação de aplicações Java;
Criar um programa Java simples.
OO e Java
Java e OO
JAVA é Orientada a Objetos Até é possível usar Java sem OO, mas...
Perderá todas as vantagens que o paradigma proporciona;
Dificilmente irá além de programas simples; ou terá “monstros macarrônicos”
Será difícil entender outros programas; O código ficará difícil de ler, manutenir e reutilizar; Estará perdendo tempo. Use outra linguagem!
Logo, para fazer bom uso de Java é preciso conhecer bem os conceitos da Orientação a Objetos.
OO e Java
Orientação a Objetos
Objetivos Diminuir a distância entre o mundo real e o modelo
abstrato de solução. “O mundo é composto por objetos”
Trabalhar com noções intuitivas, retardando a implementação.
Definição “Um sistema construído usando um método Orientado a
Objetos é aquele cujos componentes são partes encapsuladas de dados e funções, que podem herdar atributos e comportamento de outros componentes da mesma natureza, e cujos componentes comunicam-se entre si por meio de mensagens.” (Yourdon, 1994)
OO e Java
Orientação a Objetos
ProblemaProblemaMundo Real
Modelo deSolução
Código de Máquina
Humanos
Máquinas
OO e Java
Procedural x OO
Objeto
A B C
D E F
Componente X
1 B CD E 7
X B CD H F
@ B CD $ F
A B CD E F
Módulo 1
A B C
D E F
X
YZ
Módulo 2
X
Y
Z
A
Lógica Exposta e Espalhada por Todo o Sistema
Lógica Encapsulada em Pequenos Objetos
Mais próximo do mundo computacional, foco nos procedimentos
Mais próximo do mundo real, foco no domínio do problema
OO e Java
Orientação a Objetos
Características visão do mundo real mais adequada através da
observação de objetos; desenvolvimento incremental e evolutivo,
extremamente desejável no desenvolvimento em etapas ou equipes distintas;
reusabilidade, possibilitando reaproveitar parcelas de código, projetos ou mesmo de especificações de requisitos na construção de um sistema;
possibilidade de incorporação de pequenas diferenças a elementos do sistema, através da abstração de generalização/especialização;
modularidade, através do conceito de objetos e classes, incorporando dados e operações, propiciando o encapsulamento.
OO e Java
Orientação a Objetos
Conceitos Objeto: Identidade, Estado, Comportamento Classe, Objeto, Relação, Herança, Atributo, Método Abstração, Encapsulamento, Polimorfismo, Ligação
Dinâmica
Vantagens Organização, Extensibilidade, Qualidade, Reuso,
Produtividade, Custo.
OO e Java
JAVA: Histórico
História: Após conflitos internos na Sun, a empresa resolve
desenvolver algo inovador. A Idéia: Comunicar aparelhos eletrônicos (TVs, Jogos,
Controles Remotos, Eletrodomésticos, Computadores, etc.)
Mas... Esses aparelhos possuem hardware muito diferente e limitado.
Surge Oak, uma linguagem OO, baseada em C++, projetada para rodar em diferentes hardwares.
OO e Java
JAVA : Histórico
História: Em 1993, lançam o Mosaic, o primeiro navegadores
Web, e o projeto muda de rumo. A Sun resolve apostar... no Sucesso da Internet. Queria permitir o uso de multimídia na web. Para popularizar rapidamente, disponibilizam Oak
gratuitamente, em 1995, com o nome de Java. A Netscape anuncia novo navegador com suporte a
Java e a tecnologia dispara.
OO e Java
JAVA : Histórico
Java hoje tem 12 anos: 1995: Java 1.0a; 1997: Java Development Kit 1.1; 1998: Java 2 Platform 1.2; 2000: Java 2 Platform 1.3; 2002: Java 2 Platform 1.4; 2004: Java 2 Platform 5.0 (Tiger); 2006: Java 6 (Mustang); 2008: A seguir: Java 7 (Dolphin).
J2SE x J2EE x J2ME
OO e Java
JAVA : O que é?
O que é Java? Um software? Uma tecnologia? Uma linguagem de programação? Uma plataforma de desenvolvimento? Uma ilha da Indonésia?
OO e Java
JAVA : O que é?
O que é Java? Orientada a Objetos Portável Versátil Robusta e Segura Gratuita Popular e com uma comunidade ativa
OO e Java
JAVA : Linguagem
Java é uma Linguagem/Especificação Orientada a Objetos Híbrida (compilada e interpretada); Semelhante a C/C++, mas
“É mais simples e tão poderosa quanto” Não tem ponteiro, #define, .h etc É independente de plataforma “É mais robusta e segura”: coletor de lixo, exceções,
verificação de tipos, checagem de integridade, suporte nativo a threads.
OO e Java
JAVA : Mitos Java é Lenta!
As primeiras versões eram lentas, mas as mais novas são, muitas vezes, mais rápidas que C++. Compilador JIT (Just in Time).
Não possui um Ambiente RAD! Há muitas ferramentas de alta produtividade disponíveis,
inclusive free.
JavaScript é uma derivação de Java! Elas só tem em comum as 4 primeiras letras e a sintaxe que é
semelhante.
Java só serve para fazer Applets! Java serve para fazer de clientes desktop à aplicações
corporativas, passando por dispositivos móveis.
Java é a melhor forma de fazer tudo! Infelizmente, não! Java é bastante versátil, mas não faz tudo!
OO e Java
JAVA : Por que usar?
Por que usar Java? Java é OO! Independente de plataforma; Projetada para redes desde o começo; Alta aceitação e suporte na indústria; Muitas ferramentas e bibliotecas disponíveis, várias
free Vasta documentação, fácil de aprender; “Alta produtividade”; Etc.
OO e Java
JAVA : Abrangência
Hoje, Java está presente em 90 operadores de telefonia móvel; 700 milhões de celulares; 700 milhões de computadores pessoais; Mais de 2 bilhões de dispositivos
tecnológicos em todo o planeta Terra; 100% das 500 maiores empresas do mundo. US$ 100 bilhões/ano em movimentações
OO e Java
JAVA: Arquitetura
OO e Java
JAVA: Do que Precisamos?
JRE: Java Runtime Environment JVM (Java Virtual Machine) APIs do Java SE (Standard Edition)
JDK: Java Development Kit Ferramentas de desenvolvimento
Comandos: java, javac, jar, javadoc, etc.
JavaDoc Documentação das APIs
OO e Java
JVM: Write One, Run Anywhere
Java é compilada e interpretada:
– Códigos das Classes são compilados para uma linguagem intermediária chamada ByteCode;
– O ByteCode é interpretado por uma “máquina virtual”, a JVM;
– A JVM envia comandos específicos da plataforma para o sistema operacional.
OO e Java
Java: Testando...
1) Editar MeuPrograma.java
/** Testando o MeuPrograma Java. */public class MeuPrograma { /** Método main. */ public static void main(String[] args) { // imprimindo algo System.out.println("Testando MeuPrograma Java!"); }}
OO e Java
Java: Testando...
2) Compilar a classe para o seu ByteCode:
> javac MeuPrograma.java
Resultado?
MeuPrograma.class
OO e Java
Java: Testando...
3) Executar o ByteCode:
> java MeuPrograma
Resultado?
“Testando MeuPrograma Java!”
OO e Java
JAVA: Do que Preciso? (2)
JDK + JRE http://java.sun.com/javase/downloads/index.jsp
Java Documentation http://java.sun.com/javase/downloads/index.jsp
Editor EJE: http://www.claudiodesio.com/eje.htm JEdit: http://www.jedit.org/ Netbeans: http://www.netbeans.org/ Eclipse: http://www.eclipse.org/
OO e Java
Exercício 01
Para aula:– Criar um programa que imprima “Olá Mundo!”;
Aula 01:Começando com Java
Objetivos: Compreender o que é Java, OO e suas vantagens;
Entender os procedimentos para criação de um programa Java;
Criar um programa Java simples.
OO e Java
Seja Bem Vindo ao Mundo Java