Introdu o poo e java
This presentation is the property of its rightful owner.
Sponsored Links
1 / 39

Introdução POO e Java PowerPoint PPT Presentation


  • 48 Views
  • Uploaded on
  • Presentation posted in: General

POOAula 02. Introdução POO e Java. Eduardo Figueiredo. 10 de Março de 2010. 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.

Download Presentation

Introdução POO e Java

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introdu o poo e java

POOAula 02

Introdução POO e Java

Eduardo Figueiredo

10 de Março de 2010


T picos da aula

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


Conceitos fundamentais desenvolvimento de software

Conceitos FundamentaisDesenvolvimento de Software


O que software

O que é software?

  • Programa de computador + Documentação

  • Classificação fundamental

    • Produtos genéricos (ex. MS Office)

    • Produtos encomendados (ex. Locadora do Zé)


Crise do software 1968

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...


Software est em todo lugar

Software está em todo lugar


Sistemas cr ticos

Sistemas Críticos

  • Equipamentos médicos

    • Extremamente críticos

    • Lidam com vidas

  • Caixas eletrônicos

    • Prejuízos financeiros


Confiabilidade de software

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. http://www.spiegel.de/international/world/0,1518,679980,00.html


Pre o e desempenho

Preço e Desempenho

  • Pouco espaço na memória

  • Grande variação em características de aparelhos

Celular


Programa o orientada a objetos

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


Reutiliza o de software

Reutilização de Software


Meu primeiro uml

Meu Primeiro UML

Pessoa

nome

email

Professor

Aluno

matricula


Sistema acad mico

Sistema Acadêmico

SistemaAcademico

Pessoa

nome

email

Professor

Aluno

matricula


Locadora de dvd

Locadora de DVD

MinhaLocadora

Pessoa

DVD

nome

email

titulo

Funcionario

Cliente

registro


Locadora de dvd1

Locadora de DVD

MinhaLocadora

Pessoa

DVD

nome

email

titulo

<locados>

Funcionario

Cliente

registro


Campeonato de futebol

Campeonato de Futebol

CampeonatoBrasileiro

Pessoa

Time

nome

email

nome

Presidente

Tecnico

Jogador

...

posicao


Um pouco de hist ria

Um Pouco de História


Classifica o das linguagens

Classificação das Linguagens

  • Linguagens de Máquina

    • +1300042774 (traduzido depois para 0 e 1)

  • Linguagens Assembly

    • load basepay / add overpay / store grosspay

  • Linguagens de Alto Nível

    • grosspay = basepay + overpay


De onde veio java

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


Bibliotecas de java api

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.


Tecnologia java

Tecnologia Java


Plataforma java

Plataforma Java

Principais Edições

J2SE

J2ME

J2EE


J2se java padr o

J2SE (Java Padrão)


J2ee aplica es web complexas

J2EE (Aplicações Web Complexas)


J2me dispositivos m veis

J2ME (Dispositivos Móveis)

connecteddeviceconfiguration

connectedlimiteddeviceconfiguration


De procedimental para oo

De Procedimental para OO


Programa o procedimental

Programação Procedimental

Definição de Constantes

#define MAXCLIENTES 10


Programa o procedimental1

Programação Procedimental

#define MAXCLIENTES 10

typedef struct {

char *nome;

char *endereco;

} Cliente;

Definição de Tipos

#define MAXCLIENTES 10


Programa o procedimental2

Programação Procedimental

#define MAXCLIENTES 10

typedef struct {

char *nome;

char *endereco;

} Cliente;

typedef struct {

char *nome;

char *endereco;

} Cliente;

#define MAXCLIENTES 10

Cliente *meusClientes[MAXCLIENTES];

// Cliente meusClientes[MAXCLIENTES];

// Cliente **meusClientes;

Definição de Variáveis Globais


Programa o procedimental3

Programação Procedimental

#define MAXCLIENTES 10

typedef struct {

char *nome;

char *endereco;

} Cliente;

typedef struct {

char *nome;

char *endereco;

} Cliente;

#define MAXCLIENTES 10

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


Programa o procedimental4

Programação Procedimental

#define MAXCLIENTES 10

typedef struct {

char *nome;

char *endereco;

} Cliente;

typedef struct {

char *nome;

char *endereco;

} Cliente;

#define MAXCLIENTES 10

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();

}


Programa o procedimental estrutura do programa

Programação ProcedimentalEstrutura do Programa

Definição de Constantes

typedef struct {

char *nome;

char *endereco;

} Cliente;

Definição de Tipos

#define MAXCLIENTES 10

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();

}


Migrando para java

Migrando para Java

Orientado a Objetos

Definição de Classes

Procedimental


Programa o oo

Programação OO

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();

}

}


Instalando java

Instalando Java

  • Instalar o JDK (Java 2 SE)

    • http://java.sun.com/

  • Instalar/Usar um editor de textos

    • TextPad (http://www.textpad.com/)

  • Configurar variáveis de ambiente

    • Path e Classpath


Editor de texto x ide

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.


Editor de texto x ide1

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.


Pr xima aula

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)


Refer ncia

Referência

  • DEITEL, H. M.; DEITEL P. J. Java: Como Programar, 6a. Edição. Pearson, 2005. (Livro Texto).

  • BOOCH, G., RUMBAUGH, J., JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus, 2000.

  • Documentação Java. http://java.sun.com/


  • Login