Título |
|
|
Introdução |
Para que servem as linguagens de progamação? |
História |
Interpretação e compilação |
Conceitos |
Os 4 pilares da progamação orientada a objetos |
Programação estruturadas vs progamação orientada objetos |
Abstração |
Ebcapsulamento |
Herança |
Polimorfismo |
Principais vantagens da poo |
Exemplos de linguagens orientadas a objetos |
Java |
C# |
C++ |
Orientação a objetos em java:uma abordagem completa |
Programação linear |
Classificação |
Quanto ao paradigna |
Paradigmas imperativos |
Paradigmas declarativos |
Quanto a estrutura de tipos |
Quanto ao grau de abstração |
Quanto a geração |
Listas de linguagens |
Assembly |
Fortran |
Pascal |
Cobol |
Python |
Java e orientação a objetivos |
O que é java |
Uma breve história do java |
Maquina virtual |
Java lennto? hostspot e jit |
Versões do java e a confusão do java2 |
Jvm? Jre? Jdk? o que devo baixar |
Onde usar e os objetivos do java |
Especificação versus implementação |
como o fj-11 está organizado |
Preciso sempre programar usando o notepad ou similar |
Exercícios:modificando o hello world |
Declarando e usando variáveis |
Comentários em java |
Como rodar esses códigos? |
Discussão em aula:convenções de código e código legível |
Casos não tão comuns de casting e atribuição |
O while |
Pós incremento ++ |
Escopo das variáveis |
Para saber mais |
Exercícios: fixação de sintaxe |
imprimindo sem pular linhas |
Motivação:problemas do paradigma procedural |
Quais as vantagens? |
Criando um tipo |
String |
Criando e usando um objeto |
Métodos |
Métodos com retorno |
Objetos são acessados por referências |
New |
Continuando com atributos |
Para saber mais:uma fábrica de carros |
Exercícios:orientação a objetos |
Todas as classes no mesmo arquivo? |
Desafios |
Fixando o conhecimento |
Um poucos de arrays |
Arrays de referências |
Exercícios: arrays |
Usando o this para passar argumento |
Modificadores de acesso e atributos de classe |
E quando não há modificadores de acesso? |
Contrutores |
Atributos de classe |
Métodos e atributos estáticos |
Herança, reescrita e polimorfismo |
Precisamos mesmo de outra classe? |
Super e sub classe |
Reescrita de método |
Invocando o método reescrito |
Herança versus acoplamento |
Eclipse ide |
Views e perpective |
Criando o main |
Pequenos truques |
Discussão em aula:refactoring |
Exercícios: classes abstratas |
Desafios |
Interfaces |
Dificuldade no aprendizado de interfaces |
Exemplo interessante: conexões com o banco de dados |
Exercícios:interfaces |
Motivação |
Exercícios para começar com os conceitos |
Exeções de runtime mais comuns |
Outro tipo de exceção:checked exceptions |
Discussão em aula:catch e throws em exception |
Organização |
Diretórios |
Import |
Acesso aos atributos, construtores e métodos |
Usando o eclipse com pacotes |
Exercícios:pacotes |
Arquivos, bibliotecas e versões |
Gerando o jar pelo eclipse |
Javadoc |
Gerando o javadoc |
Pacote java.lang |
Um pouco sobre a classe system |
Casting de referências |
Métodos do java.lang.object:equals e tostring |
Integer e classes wrappers (box) |
Java.lang.math |
Discussão em aula: o que você precisa fazer em java? conhecendo uma api |
Orientação a objetos no java.io |
Inputstream, inputstreamreader e bufferedreader |
Lendo strings do teclado |
A analogia para a escrita: outputstream |
Uma maneira mais fácil: scanner e printstream |
Exercícios:java i/o |
Eof |
Discussão em aula:design patterns e o template method |
Arrays são trabalhosos, utilizar estrutura de dados |
Listas: java.util.list |
Lista no java 5 e java 7 com generics |
A importância das interfaces nas coleções |
Ordenação: collections.sort |
Exercícios:ordenação |
Conjunto:java.util.set |
Principais interfaces:java.util.collection |
Pecorrendo coleções no java 5 |
Para saber mais: iterando sobre coleções com java.util.iterator |
Mapas - java.util.map |
Para saber mais:properties |
Para saber mais : equal e hashcode |
Para saber mais:boas práticas |
Exercícios:collections |
Para saber mais:comparators, classes anônimas, java 8 e o lambda |
Shell script |
Bibliografia |