O Essencial da Orientação a Objetos

Post on 26-May-2015

222 views 0 download

description

Presented at Conexão Java 2014, São Paulo, Brazil. The content is in Brazilian Portuguese. Basic concepts about Object-Oriented Software Development using the Java language. Focus on the encapsulation concept, designing good class interfaces and modeling behavior. Caelum FJ-11 course on Object-Oriented Development using Java (in Brazilian Portuguese): https://www.caelum.com.br/curso-java-orientacao-objetos/ Full course material available (in Brazilian Portuguese): https://www.caelum.com.br/apostila-java-orientacao-objetos/

Transcript of O Essencial da Orientação a Objetos

Vamos ver como está...

Pensando em Objetos

“As três perguntas”:O que é?

O que tem?O que faz?

O que é?

• Classe.

• Mais algumas coisas...

O que tem?

• Atributos.

• Vale a pena pensar em tipos?

O que faz?

• ... ou: “O que eu faço com”?

• Comportamentos.

• Métodos.

• Isso é importante!

• Ok. E se eu...?

• Código trivial é fácil de entender.

• Passou um pouco disso, complica!

Código da discórdia

• Onde estão os comportamentos?

• Está tudo exposto!

• E/S junto com o restante?

• Esse, não vamos mexer ainda...

Podemos melhorar...

Repetições repetidas

• Repetições repetidamente repetidas que se repetem

Repetições repetidas

• Não, o sapo é um anfíbio! (:

Isola, meu filho!

• Facilita manutenção.

• Facilita reaproveitamento.

• Melhora entendimento.

• Melhora QUALIDADE.

Melhorando o código...

• Métodos?

• getters e setters.

• Adianta deixar tudo aberto?

Melhorando o código...

• private vs. public.

• Quantos pacotes?

ENCAPSULAMENTO

• Não tão rápido...

• Ficou bom pra criar?

CONSTRUTOR

• Não consigo mais criar incompleto.

• Quer dizer, quase...

• E os comportamentos?

• Pergunta tem resposta.

• Resposta tem conteúdo, autor, etc.

• E agora?

Atributo, mas...

Se é importante...

• É classe!

• Começa simples.

COMPORTAMENTO

Como eu quero usar?

• Fazer funcionar não é problema agora.

• Mesma idéia da TV, do celular, etc.

• Interface de uso.

• Isso (também) é importante!

• Como se relacionam?

• Como quero que se relacionem?

• Amor!

Programar é...

Mas, não é:

• Digitar.

Essencial

• Para o básico, ainda falta:

• Herança

• Polimorfismo

• Interfaces

• ...

Hoje, aprendemos

Um passo por vez.Dominar isso é importante.

Bases sólidas.

Obrigado

Até a próxima!