programação orientada a objetos para web

62

Upload: felipe-munhoz

Post on 09-Jun-2015

2.219 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Programação Orientada a Objetos Para WEB
Page 2: Programação Orientada a Objetos Para WEB

some rights reserved

Page 3: Programação Orientada a Objetos Para WEB

@fnmunhoz

http://about.me/munhoz

Page 4: Programação Orientada a Objetos Para WEB

Plano de ensino

Page 5: Programação Orientada a Objetos Para WEB

Componente: Programação

Orientada a Objetos Para WEB

Page 6: Programação Orientada a Objetos Para WEB

Competência

• Desenvolver aplicativos utilizando metodologia orientada a objetos, de acordo com a sintaxe da linguagem, incluindo os fundamentos de programação orientada a objetos e características de organização de classes em pacotes e projetos, aplicando a orientação a objetos no desenvolvimento de sistemas, com visão lógica e pró-atividade.

Page 7: Programação Orientada a Objetos Para WEB

Conhecimentos

• Fundamentos de Programação Orientada a objetos: sintaxe da linguagem, funções, passagem de parâmetros, bibliotecas

• Características de organização de classes em pacotes e projetos

• Características de estruturas das classes da linguagem e sua hierarquia

Page 8: Programação Orientada a Objetos Para WEB

Habilidades

• Criar e manipular classes e objetos

• Criar projetos e pacotes de classes

• Testar algoritmos

• Desenvolver aplicações que utilizem os conceitos de orientação a objetos

• Modelar situações do mundo real para códigos orientados a objeto.

Page 9: Programação Orientada a Objetos Para WEB

Indicadores

• Cria classes e objetos a partir de fundamentos da programação orientada a objetos, atuando com paciência.

• Testa algoritmo utilizando ferramentas para teste de algoritmos, de acordo com os princípios de lógica, abstração e programação orientada a objetos.

• Criar projetos e pacotes de classes com raciocínio lógico, a partir das características de organização e de estruturas das classes da linguagem e sua hierarquia.

Page 10: Programação Orientada a Objetos Para WEB

Valores e atitudes

• Paciência

• Organização

• Raciocínio lógico

Page 11: Programação Orientada a Objetos Para WEB

Cronograma

• 42 horas/aula• 12 encontros• Frequência mínima de 9 encontros• Avaliações em média a cada 3 encontros• Datas prováveis1. 05 de dezembro2. 14 de dezembro3. 08 de fevereiro4. 15 de fevereiro

Page 12: Programação Orientada a Objetos Para WEB

Boas Práticas

Page 13: Programação Orientada a Objetos Para WEB

Kent Beck

Page 14: Programação Orientada a Objetos Para WEB

“Não sou um grande programador; Sou apenas um bom programador com

ótimos hábitos. Refatorar me ajuda a ser muito mais efetivo na escrita de

código robusto”

Kent Beck

Page 15: Programação Orientada a Objetos Para WEB
Page 16: Programação Orientada a Objetos Para WEB

TDDTest Driven Development

Page 17: Programação Orientada a Objetos Para WEB
Page 18: Programação Orientada a Objetos Para WEB

Pair Programming

Page 19: Programação Orientada a Objetos Para WEB

Baby steps

Page 20: Programação Orientada a Objetos Para WEB

Abrace Mudanças

Page 21: Programação Orientada a Objetos Para WEB

Controle de Versão

Page 22: Programação Orientada a Objetos Para WEB

Por que GIT?•Social

•Robusto

•Rápido

•Tudo é local

•Distribuído

Page 23: Programação Orientada a Objetos Para WEB
Page 24: Programação Orientada a Objetos Para WEB
Page 25: Programação Orientada a Objetos Para WEB
Page 26: Programação Orientada a Objetos Para WEB
Page 27: Programação Orientada a Objetos Para WEB

git clone

Page 28: Programação Orientada a Objetos Para WEB

Crie, edite, apague, mova,

arquivos e diretórios

Page 29: Programação Orientada a Objetos Para WEB

git add

Page 30: Programação Orientada a Objetos Para WEB

git commit

Não esqueça da mensagem!

Page 31: Programação Orientada a Objetos Para WEB

Fluxo

Page 32: Programação Orientada a Objetos Para WEB

git push

Page 33: Programação Orientada a Objetos Para WEB

Trabalho em equipe

git pull

Page 34: Programação Orientada a Objetos Para WEB

Vamos à prática

• Criar um repositório no Github

• Clonar o repositório criado para um diretório

• Adicionar e editar arquivos no diretório

• Adicionar os arquivos ao repositório

• Fazer commit no repositório

• Fazer push para o Github

Page 35: Programação Orientada a Objetos Para WEB

Orientação a Objetos

Page 36: Programação Orientada a Objetos Para WEB

Java é orientado a objetos

Page 37: Programação Orientada a Objetos Para WEB

O que ganhamos com o paradigma de

Orientação a Objetos?

Page 38: Programação Orientada a Objetos Para WEB

Organização e

Responsabilidade

Page 39: Programação Orientada a Objetos Para WEB

Como conectar informações e funcionalidades

?

Page 40: Programação Orientada a Objetos Para WEB

Atráves de conceitos de Orientação a

Objetos

Page 41: Programação Orientada a Objetos Para WEB

Encapsulamentoe

Polimorfismo

Page 42: Programação Orientada a Objetos Para WEB

Modelando o Mundo Real

Page 43: Programação Orientada a Objetos Para WEB

Conta Bancária

Page 44: Programação Orientada a Objetos Para WEB

Informações

Page 45: Programação Orientada a Objetos Para WEB

Funcionalidades

Page 46: Programação Orientada a Objetos Para WEB

Informações

Variáveis

Atributos

Page 47: Programação Orientada a Objetos Para WEB

Funcionalidades

Métodos

Comportamentos

Page 48: Programação Orientada a Objetos Para WEB

Estes atributos e comportamentos que são

viabilizados por nossa modelagem ainda não fazem

nada na prática, são apenas uma especificação de o que uma

conta deve ter de informações e funcionalidades.

Page 49: Programação Orientada a Objetos Para WEB

Mas então em que momento que essa

especificação servirá para alguma coisa?

Page 50: Programação Orientada a Objetos Para WEB

Quando tirarmos essas contas do papel (especificação) e

transformarmos em instâncias do mundo real.

Page 51: Programação Orientada a Objetos Para WEB

Pense que um banco primeiramente

escreve um documento que

especifica os detalhes de uma conta bancária

Page 52: Programação Orientada a Objetos Para WEB

E que com esta especificação pronta

ele encontre 5 clientes e crie uma conta para

cada um deles

Page 53: Programação Orientada a Objetos Para WEB

É obvio que cada um destes clientes

deverá ter seu próprio saldo e limite, certo?

Page 54: Programação Orientada a Objetos Para WEB

Ou seja, cada cliente terá sua

própria (instância) conta bancária.

Page 55: Programação Orientada a Objetos Para WEB

Que será definida de acordo com (a especificação) uma série de regras que toda

conta bancária deve seguir, independente do cliente.

Page 56: Programação Orientada a Objetos Para WEB

Para a especificação no mundo

Orientado a Objetos damos o nome de

Classe

Page 57: Programação Orientada a Objetos Para WEB

E para cada instância de

conta bancária damos o nome

de Objeto

Page 58: Programação Orientada a Objetos Para WEB
Page 59: Programação Orientada a Objetos Para WEB
Page 60: Programação Orientada a Objetos Para WEB
Page 61: Programação Orientada a Objetos Para WEB
Page 62: Programação Orientada a Objetos Para WEB

SHOW ME THE CODE!