programação orientada a objetos para web

Post on 09-Jun-2015

2.219 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

some rights reserved

@fnmunhoz

http://about.me/munhoz

Plano de ensino

Componente: 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.

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

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.

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.

Valores e atitudes

• Paciência

• Organização

• Raciocínio lógico

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

Boas Práticas

Kent Beck

“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

TDDTest Driven Development

Pair Programming

Baby steps

Abrace Mudanças

Controle de Versão

Por que GIT?•Social

•Robusto

•Rápido

•Tudo é local

•Distribuído

git clone

Crie, edite, apague, mova,

arquivos e diretórios

git add

git commit

Não esqueça da mensagem!

Fluxo

git push

Trabalho em equipe

git pull

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

Orientação a Objetos

Java é orientado a objetos

O que ganhamos com o paradigma de

Orientação a Objetos?

Organização e

Responsabilidade

Como conectar informações e funcionalidades

?

Atráves de conceitos de Orientação a

Objetos

Encapsulamentoe

Polimorfismo

Modelando o Mundo Real

Conta Bancária

Informações

Funcionalidades

Informações

Variáveis

Atributos

Funcionalidades

Métodos

Comportamentos

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.

Mas então em que momento que essa

especificação servirá para alguma coisa?

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

transformarmos em instâncias do mundo real.

Pense que um banco primeiramente

escreve um documento que

especifica os detalhes de uma conta bancária

E que com esta especificação pronta

ele encontre 5 clientes e crie uma conta para

cada um deles

É obvio que cada um destes clientes

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

Ou seja, cada cliente terá sua

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

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

conta bancária deve seguir, independente do cliente.

Para a especificação no mundo

Orientado a Objetos damos o nome de

Classe

E para cada instância de

conta bancária damos o nome

de Objeto

SHOW ME THE CODE!

top related