Paradigmas de Programação
Visoes da estrutura e maneira (metodo) de programar em determinada linguagem.
1
. Procedural
Um exemplo de programa��o de paradigma procedural poderia ser uma receita de bolo :
1. Pegue uma tigela
2. Separe trigo, ovos, a��car, fermento, etc.
3. Jogue tudo dentro da tigela
4. Os ovos est�o com casca ?
5. N�o: v� para o passo 7
6. Sim: tire as cascas e volte ao passo 3
7. Misture tudo
8. Ponha no forno
9. Divirta-se
2
. Funcional
Um exemplo de programa��o de paradigma funcional da mesma receita de bolo seria:
funcao prepararBolo(a,b,c,d)
Pegue a
Separe b, c, d, e
Jogue tudo dentro de a
Os b est�o com casca ?
N�o: v� para o passo 7
Sim: tire as cascas e volte ao passo 3
Misture tudo
retornar bolomisturado
funcao assar(bolo)
Ponha bolo no forno
retorna bolo
Vazilhame=tigela
ingrediente1=trigo
ingrediente2=ovos
ingrediente3=acucar
prepararBolo(Vazilhame,ingrediente1,ingrediente2,ingrediente3)
assar (bolomisturado)
3
. Orientado a Objeto
Um exemplo de OO, veja
diagrama
e codigo abaixo:
Classe Tigela � Vasilhame
Propriedade Cor = Azul
Propriedade Capacidade = 2 Kg
Propriedade Quebra = Verdadeiro
FimDaClasse
Classe Ingrediente � Alimento
Propriedade �Trigo = Falso
Propriedade �Ovo = Falso
Propriedade �A��car = Falso
Propriedade �Fermento = Falso
Propriedade Perec�vel = Verdadeiro
Evento Est�Estragado
Execute JoguarNoLixo
FimDoEvento
Procedimento JogarNoLixo
Se existe Lixeira então
Coloque nela
Senão
Jogue pela janela
FimDoProcedimento
FimDaClasse
Classe AlimentosQueEngordam � Alimento
Propriedade AumentaColesterol = Verdadeiro
Propriedade CausaInfarto = Verdadeiro
FimDaClasse
Classe ComedorCompulsivo � Humano
Fun��o Est�Gordo recebe Peso retorna Resposta
Se Peso é maior que 100 kg
Resposta = Verdadeiro
Senão
Resposta = Falso
FimDaFuncao
Evento AoSentirFome
Execute ComerUmBolo
FimDoEvento
Procedimento ComerUmBolo
Se Est�Gordo(150 Kg) = Verdadeiro
Saia deste Procedimento
Sen�o
Execute FazerUmBolo
&nbs
4
. Conceitos OO
Classe
� uma construção genérica que define propriedades, m�todos e funções que serão usados por objetos ou outras classes. Toda classe é “filha” de alguma outra classe “mãe”, que por sua vez é filha de alguma outra, e assim hierarquicamente até chegar a classe mais alta, que seria a “matriarca” de todas. Em nosso exemplo, definimos v�rias classes derivadas de outras, cada uma com seus métodos e propriedades:Tigela, derivada de Vasilhame; Ingrediente, derivada de Alimento;AlimentosQueEngordam, derivada de Alimentos.
Objeto
, na teoria OOP, é uma inst�ncia de alguma classe e, efetivamente, a forma que temos de interagir com o programa. Um objeto sempre pertence a alguma classe e herda dela todas as suas propriedades e métodos, al�m de poder definir os seus próprios ou redefinir os que foram herdados. No exemplo foram criados vários objetos : JoãozinhoPesoPesado, da classe Humanos; Bolo, da classe Alimentos; Tigela, da classe Vasilhame. Note que o objeto Tigela foi criado dentro do objeto Bolo. Isto � uma caracter�stica da OOP: um objeto pode conter outros objetos, que por sua vez podem conter outros e assim sucessivamente. Um objeto contido em outro objeto é chamado objeto-filho e, conseq�entemente, um objeto que contém outro é chamado objeto-pai. Observe que isto n�o acontece com as classes :uma classe nunca cont�m ou est� contida em outra classe. Ela é derivada de alguma classe ancestral e poderá ser a origem de alguma classe descendente.
Propriedade
(ou atributo) é uma caracteristica de um objeto ou de uma classe. No exemplo, o objeto Bolo tem duas propriedades, Sabor e TemGlace; a classe Tigela tem as propriedades Cor, Capacidade e Quebra.
Encapsulação
É uma caracteristica da OOP na qual os objetos tem mecanismos internos que ficam totalmente ocultos do usu�rio. Por isto um objeto muitas vezes � considerado uma “caixa-preta”. Você utiliza um objeto que faz determinadas coisas dependendo de algum evento ou valor de alguma propriedade, mas não precisa necessariamente saber como ele faz isto. No exemplo, você pode utilizar o objeto Bolo sem precisar saber em detalhes o que acontece dentro do m�todo FazerOBolo.
M�todo
(ou açéo) É alguma operação realizada pelo objeto ou pela classe. No exemplo, a classe ComedorCompulsivo tem os m�todos AoSentirFome e ComerUmBolo.
Heran�a
� a capacidade que uma classe ou objeto t�m de herdar caracter�sticas e m�todos de sua classe ancestral e, se for o caso, modific�-los. No nosso exemplo, o objeto MinhaTigela, definido dentro do objeto Bolo, herdou todas as propriedades de sua classe Tigela (Cor, Capacidade e Quebra) e alterou uma delas (Cor = Verde).
Poliformismo
� a capacidade que objetos diferentes t�m de reagir da sua maneira a um mesmo evento. Por exemplo, para o objeto Jo�ozinhoPesoPesado, o evento AoSentirFome dispara o m�todo ComerUmBolo ; já para um objeto Cavalo, que seria de outra classe, o mesmo evento dispararia o método ComerCapim.
Ligação
É o ato de um objeto ou classe conectar uma ação sua a outro objeto ou classe. No exemplo, o evento ComerUmBolo, da classe ComedorCompulsivo, dispara o evento FazerUmBolo do objeto Bolo.
link Arquivo origem:
WParadigmasProgramacao.xml
. referencia
Paradigmas de Programação {4}
Procedural
Funcional
Orientado a Objeto
Conceitos OO
Índice Local {9}
Projeto Apoie {6}
Projeto Apoie
Projeto PAS Produzir + Aprender + Simplificar
Serviço Web
Relacionamentos entre Personagens
Base de Conhecimento {5}
Conhecimento
Dado
Informação consolidada
Página Pronta - site apoie.org
Pulo do Gato
Contato Projeto Apoie
Linguagem
{5}
Javascript {3}
Referências e Ferramentas
Sintaxe
Cheat Sheet
Erlang Quick Sort
LDC {2}
LDC
LDC - Sintaxe
Definição {9}
Erlang
Python 3.0
Ruby 1.9.1 - Sintaxe
Ruby 1.9.1 - Léxico
Shell
Lua
PHP
XML
Lazy BNF
If
Dojo {4}
Coding Dojo
Coding Dojo - Formatos
Soluções Coding Dojo {6}
Dojo #34: Expressão Aritmética
Dojo #33: Impedimento
Dojo #32: Sequência Numérica
Dojo #31: Tráfego
Dojo #29: Boliche
Dojo #28: Jogo da Vida
Dojo Rio
Qualidade {2}
5W {3}
5W2H
5W1H
5W2H - 5W1H - Modelo
PDCA
Componente {5}
Componente
ExibirLinguagem.htm
Gerar Páginas
Lista
Tabela de Decisões
Paletas {10}
Paleta - Mais utilizadas
Paleta - Apoie
Paleta - Apresentação e Componentes
Paleta - Diagramas
Paleta - Diagrama Sintático
Paleta - Dojo
Paleta - Logos
Paleta - Projetos
Paleta - Setas
Paleta - Tecnologia
Evento {4}
Pendência
Estados de Componentes
Scrum
Prioridade
Método {5}
Oficina
Serviço Web
Warnier/Orr Basics
Apresentar Problema Resolvido
Simples x Complexo
Imposto de Renda