Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2
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.
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.
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)
Orientação a Objetos Mundo Real Problema Humanos Modelo de Solução Máquinas Código de Máquina
Procedural x OO Módulo 1 Módulo 2 A B C X Y A D E F Z Y X Z Mais próximo do mundo real, foco no domínio do problema Lógica Encapsulada em Pequenos Objetos Lógica Exposta e Espalhada por Todo o Sistema Objeto Componente X A B C D E F X B C D H F Mais próximo do mundo computacional, foco nos procedimentos A B C D E F 1 B C D E 7 @ B C D $ F
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.
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.
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.
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.
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
JAVA : O que é? O que é Java? Um software? Uma tecnologia? Uma linguagem de programação? Uma plataforma de desenvolvimento? Uma ilha da Indonésia?
JAVA : O que é? O que é Java? Orientada a Objetos Portável Versátil Robusta e Segura Gratuita Popular e com uma comunidade ativa
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.
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.
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
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
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.
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!");
Java: Testando... 2) Compilar a classe para o seu ByteCode: > javac MeuPrograma.java Resultado? MeuPrograma.class
Java: Testando... 3) Executar o ByteCode: > java MeuPrograma Resultado? Testando MeuPrograma 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/
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.
Seja Bem Vindo ao Mundo Java OO e Java