Java
Orientação a Objetos e Java
Motivar, apresentar, exercitar e consolidar o uso de técnicas de programação orientada a objeto que tenham um impacto considerável sobre qualidade de software.
Sérgio Soares sergio@dei.unicap.br http://www.dei.unicap.br/~sergio/poo
Objetivos
• Discutir aspectos de qualidade e modularidade de software
• Introduzir conceitos de POO e Java
• Indicar como programas em Java podem ser adequadamente escritos e estruturados
• Utilizar ambientes de programação em Java
• Desenvolver uma aplicação de médio porte
Clareza versus Eficiência
• Pensamento a longo prazo e elegância, ao invés de imediatismo e resultados de qualquer jeito
• Software tem que ser adaptável, flexível, fácil de mudar (custos baixos, mudanças rápidas) Relevância e Motivação
•
•
•
•
Técnicas a serem utilizadas na prática
Desenvolver software de qualidade
Java corresponde ao estado-da-arte
Impacto econômico e social
Programação Orientada a
Objetos
• Foco nos dados (objetos) do sistema, não nas funções
• Estruturação do programa é baseada nos dados, não nas funções
• As funções mudam mais do que os dados
Objeto Conta Bancária
Objeto Vídeo
Crédito
PLAY
> 1456
CIN
>
>>> <<<
Saldo
Número
875,32
21.342-7
Quantas funções tem um vídeo?
Débito
Estados do Objeto Conta
Crédito(20)
Crédito
Crédito
Saldo
Saldo
Número
Número
875,32 21.342-7
875,32 21.342-7
Débito
Crédito
Saldo
Número
895,32
21.342-7
O que é Java?
“Java é uma linguagem simples, orientada a objetos, distribuída, interpretada, robusta, segura, independente de arquitetura, portável, de alta performance, concorrente e dinâmica” Débito
Débito
Implementações de Java
• Interpretada
– Bytecodes da JVM
– Independente de plataforma
• Compilada
– Código nativo em C ou C++
• Alta performance?
Alta Performance?
• Java oferece alternativas, compromissos
• Código do cliente pode ser interpretado
– compiladores JIT aumentam performance
– cliente universal
– código móvel, carregado pela rede,