Material das Aulas
Onde encontrar
O material da disciplina pode ser encontrado no Moodle ou no repósitório do GitHub.
Conteúdo
- Introdução ao Curso (aula 00).
- Link para o artigo "Object Oriented Programming";
- Conteúdo 1 (slides, listex)
- Programação Estruturada
- Orientação a Objetos
- Conceitos básicos
- Objetos
- Classes
- Relacionamentos entre classes
- Análise
- Projeto
- UML
- Conceitos básicos
- Diagramas de Classses
- Programação Estruturada vs. POO
- Conteúdo 2 (slides, listex)
- Processo de Criação de um Programa C++
- Programando em C++
- Operadores
- Palavras reservadas
- cin
- cout
- Blocos de código
- Referências
- Ponteiros e Alocação Dinâmica
- Sobrecarga de Funções
- Conteúdo 3 (slides, listex, driver da classe string, classe String)
- Classes
- Objetos
- Métodos
- Construtores
- Destrutores
- Objetos como Parâmetros de Métodos
- Métodos que Retornam Objetos
- Separando a Interface da Implementação
- Composição: Objetos como Membros de Classes
- Funções Amigas
- Sobrecarga de Operadores
- O Ponteiro This
- Conteúdo 4 (slides, listex)
- Herança
- Compilação
- Redefinição de Métodos
- Construtores e Destrutores em Classes Derivadas
- Herança Pública vs. Privada vs. Protegida
- Conversões de Tipo entre Base e Derivada
- Herança Múltipla
- Classes Bases Virtuais
- Compilação
- Construtores em Herança Múltipla
- Conteúdo 5 (slides, listex, exemplo completo)
- Polimorfismo
- Funções Virtuais
- Resolução Dinâmica
- Classes Abstratas
- Conversão de Tipos
- Destrutores Virtuais
- Conteúdo 6 (slides)
- Exceções
- try, throw e catch
- Modelo de Terminação
- Erros comuns
- Quando Utilizar Exceções?
- Classes de Exceções da Biblioteca Padrão
- Conteúdo 7 (slides, listex)
- Genéricos (Templates)
- Programação Genérica
- Funções Genéricas
- Classes Genéricas
- Outros Parâmetros e Parâmetros Padronizados
- Observações Sobre Genéricos e Herança
- Observações Sobre Genéricos e Funções Amigas
- Observações Sobre Genéricos e Membros static
- Standard Templates Library
- Contêineres
- Iteradores
- Algoritmos
- Exemplos
- Conteúdo 8 (slides)
- Processamento de Arquivos
- Escrita
- Leitura
- Ponteiros de Posição
- Arquivos de Acesso Aleatório
- Exemplos
- Enunciado do Trabalho Prático I;
- Conteúdo 9 (slides, listex)
- Breve história do Java
- Criação de Um Programa Java
- Instruções de Saída
- Importando Classes
- Caixas de Diálogo
- Operadores e Palavras Reservadas
- Vetores
- API Java
- Classes e Métodos
- Passagem de Parâmetros
- Escopo de Variáveis e Atributos
- Construtores
- Finalizadores e Coleta de Lixo Automática
- Membros static
- Outros
- Conteúdo 10 (slides, listex)
- Métodos static
- Classe Math
- Promoção de Argumentos
- Sobrecarga de Métodos
- Composição
- Enumerações
- static import
- Criando Pacotes
- Breve Comparação entre C++ e Java
- Conteúdo 11 (slides, listex)
- Herança
- Especificadores de Acesso
- Classe Object
- Exemplo
- Construtores em Subclasses
- Compilação
- Redefinição de Métodos
- Engenharia de Software com Herança
- Conteúdo 12 (slides, listex)
- Polimorfismo
- Classes e métodos abstratos
- Exemplo Polimorfismo e Downcast
- Resolução Dinâmica
- Operador instanceof
- Downcast
- Método getclass
- Métodos e Classes final
- Criando e Utilizando Interfaces
- Declarando Constantes em Interfaces
- Herança Múltipla e Interfaces
- Interfaces Comuns da API Java
- Conteúdo 13 (slides, códigos, trabalho II)
- Caixas de Diálogo
- Componentes Swing
- Swing vs. AWT
- Componentes Leves e Pesados
- Exibindo Textos e Imagens em uma Janela
- Especificando o Leiaute
- Criando Labels
- Campos de Texto e Introdução à Manipulação de Eventos
- Tipos Comuns de Eventos e Listener Interfaces
- Botões
- Botões que Mantêm seu Estado
- Caixas de Marcação
- Botões de Opção
- Caixas de Combinação
- Listas
- Listas de Seleções Múltiplas
- Manipulação de Eventos do Mouse
- Classes Adaptadoras
- Subclasse JPanel para Desenhar com o Mouse
- Manipulação de Eventos do Teclado
- Gerenciadores de Leiaute
- Áreas de Texto
- Conteúdo 14 (slides, listex)
- try e catch
- Modelo de Terminação
- Cláusula throws
- Quando Utilizar Exceções?
- Hierarquia de Exceções Java
- Blocos finally
- throw
- Desfazendo a Pilha
- printStackTrace, getStackTrace e getMessage
- Exceções Encadeadas
- Declarando Novos Tipos de Exceções
- Pré-Condições e Pós-Condições
- Asserções
- Conteúdo 15 (slides, listex)
- Genéricos
- Métodos Genéricos
- Classes Genéricas
- Tipos "Crus"
- Coringas em Métodos Genéricos
- Genéricos e Herança
- Coleções
- Classe Arrays
- Interface Collection e Classe Collections
- Listas
- ArrayList e Iterator
- LinkedList
- Vector
- Algoritmos
- Pilhas
- Filas de Prioridade
- Conjuntos
- Mapas
- Conteúdo 16 (slides)
- Arquivos
- Classe File
- Arquivos Texto de Acesso Sequencial
- Escrita
- Leitura
- Atualização
- Serialização de Objetos
- Arquivos de Acesso Aleatório
- Conteúdo 17 (slides)
- Introdução ao Java Reflections API