Programação orientada a objeto java
Por: Rodrigo Deivide • 13/4/2015 • Pesquisas Acadêmicas • 40.131 Palavras (161 Páginas) • 357 Visualizações
DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E AUTOMAÇÃO INDUSTRIAL
FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO
UNIVERSIDADE ESTADUAL DE CAMPINAS
Programação Orientada a Objetos:
Uma Abordagem com Java
Ivan Luiz Marques Ricarte
2001
Sumário
1 Fundamentos da programação orientada a objetos 3
1.1 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Herança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Polimorfismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Princípios da programação na linguagem Java 8
2.1 Tipos primitivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Identificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Expressões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1 Expressões retornando valores numéricos . . . . . . . . . . . . . . . . . . . 11
2.3.2 Expressões retornando valores booleanos . . . . . . . . . . . . . . . . . . . 12
2.3.3 Outros tipos de expressões . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.4 Controle do fluxo de execução . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.5 Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Operações sobre objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.1 Arranjos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 Classes em Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.1 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.2 Definição de classes em Java . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.3 O método main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5.4 Visibilidade da classe e seus membros . . . . . . . . . . . . . . . . . . . . . 25
2.5.5 Classes derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.6 Classes abstratas e finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.7 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.6 Exceções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.1 Tratamento de exceções . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6.2 Erros e exceções de runtime . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6.3 Propagando exceções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.6.4 Definindo e gerando exceções . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7 O ambiente de Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7.1 Ferramentas do Java SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.7.2 Geração de código portátil . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1
Programação orientada a objetos com Java Sumário
2.7.3 Desenvolvimento de aplicações . . . . . . . . . . . . . . . . . . . . . . . . 35
3 Uso das classes da API padrão de Java 37
3.1 Funcionalidades básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Entrada e saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.1 Transferência de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.2 Transferência de bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.3 Manipulação de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.4 Serialização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Framework de coleções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4 Extensões padronizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4 Desenvolvimento de aplicações gráficas 46
4.1 Apresentação gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Interfaces gráficas com usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Eventos da interface gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 Componentes gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.3 Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.4 Janelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
...