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
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)
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
Execute Comer
FimDoProcedimento
FimDaClasse
Objeto JoãozinhoPesoPesado � ComedorCompulsivo
Evento
AoFicar15MinutosSemComer
Dispare o Evento AoSentirFome
FimDoEvento
FimDoObjeto
Objeto Bolo é AlimentosQueEngordam
Propriedade
Sabor = Jil�
Propriedade
TemGlac = Verdadeira
Use Tigela
Use Ingrediente
Objeto
MinhaTigela é uma Tigela
Cor = Verde
FimDoObjeto
Objeto Trigo é
Ingrediente
Trigo = Verdadeiro
FimDoObjeto
Objeto Ovo é
Ingrediente
Ovo = Verdadeiro
FimDoObjeto
Objeto A��car é
Ingrediente
�a��car = Verdadeiro
FimDoObjeto
Objeto Fermento
é Ingrediente
Fermento = Verdadeiro
FimDoObjeto
Procedimento
FazerUmBolo
Mova Trigo para Tigela
Mova Ovo para Tigela
Se CheirouMal dispare EstaEstragado
Mova A��car para Tigela
Mmova Fermento para Tigela
Mmisture tudo
Leve ao forno
FimDoProcedimento
FimDoObjeto {Bolo}
FimDoPrograma.
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.