A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução POO e Java Eduardo Figueiredo POO Aula 02

Apresentações semelhantes


Apresentação em tema: "Introdução POO e Java Eduardo Figueiredo POO Aula 02"— Transcrição da apresentação:

1 Introdução POO e Java Eduardo Figueiredo POO Aula 02
10 de Março de 2010

2 Tópicos da Aula Conceitos fundamentais de software
Programação orientada a objetos e reutilização de software Um pouco da história de Java Tecnologia Java

3 Conceitos Fundamentais Desenvolvimento de Software

4 O que é software? Programa de computador + Documentação
Classificação fundamental Produtos genéricos (ex. MS Office) Produtos encomendados (ex. Locadora do Zé)

5 Crise do Software (1968) Custos de hardware caindo Custos do software subindo Avanços em hardware Permitem desenvolvimento de sistemas cada vez mais complexos Resultado (software) Custos altos, projetos atrasados, sistemas não confiáveis, desempenho insatisfatório, etc...

6 Software está em todo lugar

7 Sistemas Críticos Equipamentos médicos Caixas eletrônicos
Extremamente críticos Lidam com vidas Caixas eletrônicos Prejuízos financeiros

8 Confiabilidade de Software
Exemplo: Vôo Air France Rio - Paris Dados conflitantes (falha nos sensores) Sistema assume o controle (piloto automático) Piloto tenta reiniciar o sistema (boot) Em 4 minutos o avião mergulha no oceano The Last Four Minutes of Air France Flight 447.

9 Preço e Desempenho Celular Pouco espaço na memória
Grande variação em características de aparelhos Celular

10 Programação Orientada a Objetos
Reutilização de Software Vantagens Software mais confiável (já foi usado antes) Sistemas mais baratos (parte já estava pronto) Projetos mais elegantes e eficientes

11 Reutilização de Software

12 Meu Primeiro UML Pessoa nome Professor Aluno matricula

13 Sistema Acadêmico SistemaAcademico Pessoa nome email Professor Aluno
matricula

14 Locadora de DVD MinhaLocadora Pessoa DVD nome email titulo Funcionario
Cliente registro

15 Locadora de DVD MinhaLocadora Pessoa DVD nome email titulo
<locados> Funcionario Cliente registro

16 CampeonatoBrasileiro
Campeonato de Futebol CampeonatoBrasileiro Pessoa Time nome nome Presidente Tecnico Jogador ... posicao

17 Um Pouco de História 17

18 Classificação das Linguagens
Linguagens de Máquina (traduzido depois para 0 e 1) Linguagens Assembly load basepay / add overpay / store grosspay Linguagens de Alto Nível grosspay = basepay + overpay

19 De onde veio Java? BCLP (1967) por Martin Richards
Linguagem C (1972) por Dennis Ritchie C++ (1980) por Bjarne Stroustrup, Bell Java (1995) pela Sun

20 Bibliotecas de Java (API)
Organização da Biblioteca Pacotes -> Classes -> Métodos (função) Por que usar classes da biblioteca? Ganhar de tempo Mais confiáveis São portáveis São eficientes, etc.

21 Tecnologia Java

22 Plataforma Java Principais Edições J2SE J2ME J2EE

23 J2SE (Java Padrão)

24 J2EE (Aplicações Web Complexas)

25 J2ME (Dispositivos Móveis)
connected device configuration connected limited device configuration

26 De Procedimental para OO
26

27 Programação Procedimental
#define MAXCLIENTES 10 Definição de Constantes

28 Programação Procedimental
#define MAXCLIENTES 10 #define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente; Definição de Tipos

29 Programação Procedimental
#define MAXCLIENTES 10 #define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente; typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Definição de Variáveis Globais

30 Programação Procedimental
#define MAXCLIENTES 10 #define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente; typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente* criarCliente() { ... } void criarClientes () { for (...) { ... criarCliente(); Definição de funções

31 Programação Procedimental
#define MAXCLIENTES 10 #define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente; typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Cliente* criarCliente() { ... } void criarClientes () { for (...) { ... criarCliente(); Cliente* criarCliente() { ... } void criarClientes () { for (...) { ... criarCliente(); Definição da função main int main () { ... criarClientes(); }

32 Programação Procedimental Estrutura do Programa
#define MAXCLIENTES 10 Definição de Constantes typedef struct { char *nome; char *endereco; } Cliente; Definição de Tipos Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes; Definição de Variáveis Globais Cliente* criarCliente() { ... } void criarClientes () { for (...) { ... criarCliente(); Definição de funções Definição da função main int main () { ... criarClientes(); }

33 Migrando para Java Procedimental Orientado a Objetos
Definição de Classes

34 Programação OO Definição de Classe Definição de Classe
public class Cliente { String nome; String endereco; public Cliente (String n, String e) { nome = n ; endereco = e; } Definição de Classe public class Clientes { static final MAX = 10; Cliente vetorClientes[] = new Cliente[MAX]; public Clientes () { ... for (...) { ... new Cliente(); } Definição de Classe Definição de Classe public class Teste { public static void main (String args) { Clientes meusClientes = new Clientes(); }

35 Instalando Java Instalar o JDK (Java 2 SE)
Instalar/Usar um editor de textos TextPad (http://www.textpad.com/) Configurar variáveis de ambiente Path e Classpath

36 Editor de Texto x IDE Usar apenas editor de texto
Exemplo: TextPad (http://www.textpad.com/) Compilar e executar Não usar ambientes de desenvolvimento Eclipse, JBuilder, NetBeans, etc.

37 Editor de Texto x IDE Usar apenas editor de texto
Exemplo: TextPad (http://www.textpad.com/) Compilar e executar Não usar ambientes de desenvolvimento Eclipse, JBuilder, NetBeans, etc.

38 Próxima Aula Java: Como Programar, 6a. Edição
Seção 1.16: Estudo de Caso de ES (p. 14) Seção 3.1: Introdução (p. 58) Seção 3.2: Classes, métodos, ... (p. 58) Seção 3.3: Declarando uma Classe (p. 59) Seção 3.4: Declarando um Método (p. 62) Seção 3.5: Variáveis de Instancia,... (p. 64) 38

39 Referência DEITEL, H. M.; DEITEL P. J. Java: Como Programar, 6a. Edição. Pearson, (Livro Texto). BOOCH, G., RUMBAUGH, J., JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus, 2000. Documentação Java.


Carregar ppt "Introdução POO e Java Eduardo Figueiredo POO Aula 02"

Apresentações semelhantes


Anúncios Google