introdu o poo e java
Download
Skip this Video
Download Presentation
Introdução POO e Java

Loading in 2 Seconds...

play fullscreen
1 / 39

Introdução POO e Java - PowerPoint PPT Presentation


  • 81 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
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