Isaias Camilo Boratti
Professor Adjunto do Departamento de Informática e de Estatística
Universidade Federal de Santa Catarina
Programação Orientada
a Objetos em Java
Conceitos Preliminares
O Modelo de Objetos
Representação de Classes em Java
Implementação de Classes
Desenvolvimento de Programas
Especialização de Classes
Manipulação de Arranjos
Outros Recursos de POO e Java
Visual Books
Sumário
1 Conceitos Preliminares .................................................................13
1.1 Introdução .....................................................................................13
1.2 O Processo de Abstração .............................................................14
1.3 Operações de Abstração .............................................................16
1.3.1 Classificação/Instanciação .....................................................17
1.3.2 Generalização/Especialização ...............................................19
1.3.3 Agregação/Decomposição ......................................................21
1.3.4 Associação ..................................................................................25
1.4 Resumo ...........................................................................................26
1.5 Exercícios Propostos .....................................................................27
2 O Modelo de Objetos ....................................................................29
2.1 Objetos ............................................................................................29
2.2 Representação Visual de Objetos ..............................................33
2.3 Classes ............................................................................................34
2.4 Representação de Classes ...........................................................37
2.5 Aspectos de Linguagem ..............................................................38
2.6 O Computador ..............................................................................39
2.7 Mensagem ......................................................................................40
2.8 Resumo ...........................................................................................43
2.9 Exercícios Propostos .....................................................................44
3 Representação de Classes em Java ............................................45
3.1 Introdução .....................................................................................45
3.2 Primeiros Programas Java ...........................................................45
3.3 Um Programa com Objetos ........................................................48
3.4 Identificadores em Java ...............................................................57
3.5 Tipos de Valores ............................................................................59
3.6 Objetos e Variáveis .......................................................................60
3.7 Criação de Objetos e Variáveis ..................................................61
3.8 Seqüência de Caracteres .............................................................63
3.9 Aspectos de Funcionamento ......................................................64
3.10 Compilação ..................................................................................68
3.11 Conclusões ...................................................................................70
3.12 Resumo .........................................................................................71
3.13 Exercícios Propostos ...................................................................72
4 Implementação de Classes ..........................................................75
4.1 Aspectos de Interface ...................................................................75
4.2 Implementação de Métodos .......................................................76
4.2.1 Implementação de Construtores ............................................78
4.2.2 Implementação de Métodos ....................................................81
4.3 Escopo .............................................................................................84
4.4 Documentação Interna à Implementação ...............................86
4.5 Parâmetros .....................................................................................87
4.6 Passagem de Argumentos ...........................................................93
4.7 Problema Resolvido ......................................................................93
4.8 Implementação de Objetos .........................................................96
4.9 Outros Tipos de Valores em Java .............................................100
4.9.1 Tipo int ........................................................................................101
4.9.2 Tipo short ....................................................................................101
4.9.3 Tipo byte .....................................................................................101
4.9.4 Tipo long .....................................................................................101
4.9.5 Tipo double .................................................................................102
4.9.6 Tipo float .....................................................................................102
4.10 Atribuição em Java ....................................................................103
4.10.1 O Processo de Atribuição ......................................................103
4.10.2 Atribuições Permitidas ...........................................................104
4.10.3 Conversão Explícita de Tipo .................................................104
4.11 Expressões Aritméticas ..............................................................105
4.11.1 Operadores Aritméticos .........................................................105
4.11.2 Hierarquia das Operações Aritméticas ...............................106
4.11.3 Exponenciação .........................................................................107
4.11.4 Operadores Aritméticos de Atribuição ...............................107
4.11.5 Operadores de Incremento e Decremento .........................108
4.12 Expressões Lógicas .....................................................................109
4.12.1 Hierarquia dos Operadores ...................................................111
4.12.2 Aplicações com Expressões Lógicas ....................................112
4.13 Modelagem de Classes ..............................................................113
4.14 Resumo .........................................................................................113
4.15 Exercícios Propostos ...................................................................115
5 Desenvolvimento de Programas .................................................121
5.1 Introdução .....................................................................................121
5.2 Métodos com Processos de Repetição .......................................122
5.3 Métodos com Processos de Seleção ...........................................127
5.4 Comandos de Repetição e Seleção ............................................130
5.4.1 Comando do-while ...................................................................130
5.4.2 Comando while .........................................................................132
5.4.3 Comando for ..............................................................................133
5.4.4 Comando break .........................................................................134
5.4.5 Comando if .................................................................................135
5.4.6 Comando switch .......................................................................137
5.4.7 Comparando Objetos ...............................................................139
5.5 Encapsulamento ...........................................................................141
5.5.1 Definição e Importância ..........................................................141
5.5.2 Encapsulamento em Java ........................................................143
5.5.3 A Palavra-chave this ................................................................151
5.5.4 Interface de uma Classe ...........................................................152
5.6 Exercícios Resolvidos ..................................................................153
5.7 Exercícios Propostos .....................................................................171
6 Especialização de Classes ............................................................183
6.1 O Processo de Especialização .....................................................183
6.2 Implementação da Especialização ............................................185
6.2.1 A Palavra-chave extends .........................................................185
6.2.2 A Palavra-chave super .............................................................191
6.3 O Mecanismo da Herança ..........................................................192
6.3.1 Herança .......................................................................................192
6.3.2 A Classe Object ..........................................................................194
6.3.3 Reutilização de Código ............................................................195
6.4 Problema Resolvido: Jogo de Dados .........................................197
6.5 Sobreposição de Métodos ............................................................201
6.5.1 Regras de Sobreposição ............................................................204
6.5.2 Acesso ao Método da Superclasse .........................................210
6.6 Compatibilidade de Endereços - Subtipagem .........................211
6.6.1 Subtipagem .................................................................................211
6.6.2 O Operador instanceof .............................................................213
6.7 Polimorfismo ..................................................................................213
6.8 Classes Abstratas ..........................................................................215
6.9 Sobrecarga de Métodos ...............................................................221
6.10 Conclusões ...................................................................................223
6.11 Exercícios Propostos ...................................................................223
7 Manipulação de Arranjos .............................................................227
7.1 Introdução .....................................................................................227
7.2 Construção de Arranjos ..............................................................227
7.3 Problema Resolvido: Avaliação de Alunos ..............................232
7.4 Problema Resolvido: Coleção de Valores Inteiros ..................242
7.5 Problema Resolvido: Coleção de Figuras .................................253
7.6 Problema Resolvido: Fila de Pessoas .........................................264
7.7 Algumas Operações com Arranjos ...........................................272
7.8 Arranjos Multidimensionais .......................................................274
7.9 Matriz como um Objeto ..............................................................278
7.10 Exercícios Propostos ...................................................................282
8 Outros Recursos de POO e Java .................................................289
8.1 Introdução .....................................................................................289
8.2 Atributos de Classe ......................................................................289
8.3 Métodos de Classe ........................................................................291
8.4 Principais Métodos da Classe Math ..........................................293
8.5 Manipulação de Strings ..............................................................298
8.6 A Classe Empacotadora Character ...........................................301
8.7 Exercício Resolvido - Tratamento de Strings ...........................303
8.8 Pacotes ............................................................................................305
8.9 Exercícios Propostos .....................................................................307
Referências .........................................................................................309
Download

Cópia de POO Java - Sumário