Introdu o poo e java
Download
1 / 39

Introdução POO e Java - PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Introdução POO e Java' - isha


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

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



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



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



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.



Plataforma java
Plataforma Java

Principais Edições

J2SE

J2ME

J2EE




J2me dispositivos m veis
J2ME (Dispositivos Móveis)

connecteddeviceconfiguration

connectedlimiteddeviceconfiguration



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/


ad