A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Professor: Leandro Luque.  Paradigma procedural Dados Procedimento 1 Procedimento 2Procedimento 3 Quais são os procedimentos/funções necessários para.

Apresentações semelhantes


Apresentação em tema: "Professor: Leandro Luque.  Paradigma procedural Dados Procedimento 1 Procedimento 2Procedimento 3 Quais são os procedimentos/funções necessários para."— Transcrição da apresentação:

1 Professor: Leandro Luque

2  Paradigma procedural Dados Procedimento 1 Procedimento 2Procedimento 3 Quais são os procedimentos/funções necessários para resolver o problema? Quais são os dados necessários para resolver o problema? Programas modularizados em procedimentos e funções

3  Cálculo de média de alunos Notas Ler notas do aluno Calcular média Exibir média do aluno program media; uses wincrt; var notas: Array[1..4] of real; media: real; procedure lerNotas(); var cont: integer; begin for cont:=1 to 4 do begin write(‘Nota ', cont, ': '); readln(notas[cont]); end; procedure calcularMedia(); var contador: integer; begin media := 0; for contador:=1 to 4 do begin media := media + notas[contador] end; media := media / 4; end; procedure exibirMedia(); begin writeln('A média do aluno é ', media); end; begin lerNotas(); calcularMedia(); exibirMedia(); end.

4 Problema Solução

5  História/evolução dos conceitos;  Análise isolada dos conceitos;  Comparação com o paradigma procedural;

6  Simula 67  Linguagem de propósito geral;  Suporte a simulação de sistemas; Simulação de fluxos de barcos no mar norueguês

7  Mapeamento problema -> solução Procedimento Complexidade Crescente em Função do Número de Navios

8  Exemplo simples de simulação:  Lançamento de uma bola em uma sala. Onde a bola irá parar? Dados Verificar colisão com o chão Verificar colisão com a cadeira Verificar colisão com a parede Mover bola Alterar movimento da bola

9 Dados Verificar colisão com o chão Verificar colisão com a cadeira 1 Verificar colisão com a parede Alterar a posição da Bola 1 Verificar colisão com a cadeira 2 Alterar a posição da Bola 2...

10  Gestão da complexidade: dividir para conquistar Bola Cadeira Chão Parede Mapeamento direto Dados Comportamento

11  Quais são as características e comportamento desses objetos? Bola Características (dados): elasticidade, pressão, resistência, x, y, z, rotacao, velocidade, aceleracao,... Comportamento (procedimentos): mover, encher, esvaziar,... elasticidade pressão resistência... mover encher alterarMovimento

12  Quais são as características e comportamento desses objetos? Cadeira Características (dados): material, pernas, cor, resistência,... Comportamento (procedimentos): mover, subirAssento, descerAssento material pernas resistência... mover recuperarPosicao recResistencia

13  Interação entre objetos: mover encher alterarMovimento Bola Chão Parede Cadeira mover recResistencia recuperarPosicao recResistencia

14  Diferença na abordagem proposta: Dados Procedimento 1 Procedimento 2 Procedimento 3 dados procedimento1 procedimento3 procedimento2 Permite o encapsulamento dos dados acoplamento Facilita a gestão da complexidade

15  Como definir os objetos em programação?  Especificar as características e métodos para cada objeto?  Captar o que há de comum a classes de objetos

16  Classe:  Abstração do que há de comum (em termos de características e comportamento) a um conjunto de objetos. Características (atributos): velocidade, potência, numPortas,... Comportamento (métodos): acelerar, frear, ligar, desligar,...

17  Classe: Características (atributos): idade, altura, peso,... Comportamento (métodos): mover, alimentar, descansar... Mamífero

18  Paradigma orientado a objetos:  Um programa pode ser entendido como uma coleção de objetos com suas características e comportamento, especificados por classes, que interagem para a produção do resultado esperado.

19  Classes:  Especificam o que há de comum entre um conjunto de objetos.  Podem ser especializações de outras classes (relacionamento de herança – forma de reuso);

20  Objeto:  Abstração do domínio do problema ou da solução. É conhecido como instância de classe; Características (atributos): velocidade, potência, numPortas,... Comportamento (métodos): acelerar, frear, ligar, desligar,... Um carro qualquer é um Objeto da classe dos carros potência = 80 numPortas = 4...

21  Objeto:  Possui: ▪ Identidade. dois objetos são diferentes mesmo que todos os seus dados sejam iguais ▪ dados que representam suas características e são chamados de atributos; ▪ procedimentos que implementam seu comportamento e são chamados de métodos;

22  Atributos: dados que representam as características de objetos;  Métodos: operações (procedimentos) que implementam o comportamento de objetos  Podem receber parâmetros e retornar valores;  Ao conjunto composto por nome do método + parâmetros dá-se o nome de assinatura do método  Uma classe pode ter vários métodos com o mesmo nome, mas quantidade ou tipos de parâmetros diferentes (polimorfismo de sobrecarga);  Uma classe especializada pode redefinir um método de uma classe mais genérica (polimorfismo de inclusão);

23  Mensagens:  Interação entre diferentes objetos.  Exemplo: ▪ Objeto de carro interage com objeto da estrada enquanto anda nela; ▪ Objeto de cliente interage com objeto de produto para conhecer suas características;

24  Classe e Objeto:  Receita de bolo  4 ovos  2 xícaras de açúcar  3 xícaras de farinha de trigo  1 copo de suco de laranja ( 250ml)  1 colher de sopa de fermento em pó ... Bolos diferentes

25  Classe Objetos Nome da classe Atributos Métodos Nome do objetoClasse

26  Classe Objetos class Carro { double potencia; int numeroPortas; java.util.Date dataFabricacao; Carro(double p, int numP, String d) { potencia = p; //... } void ligar() { // código para ligar o carro. } void desligar() { // código para desligar o carro. } void trocarMarcha() { // código para trocar a marcha do carro. } Carro FuscaDoJuscelino = new Carro(54, 3, “07/06/1969”); Carro FuscaDoJoao = new Carro(76, 5, “10/12/2008”);

27  Pode representar:  Coisas tangíveis: livros, pessoas  Incidente (evento, ocorrência): CopaDoMundo, BO  Interação (transação, contrato): Venda  Quais objetos estão presentes no domínio do problema e solução?  Procure por substantivos no domínio do problema/solução para identificar classes/objetos e atributos;  Procure por verbos no domínio do problema/solução para identificar métodos;

28  Perguntas:  Quais dados precisam ser produzidos, processados ou armazenados?  Qual deve ser o comportamento do sistema?  Como posso organizar os dados e comportamento visando o reuso?

29  Exemplo:  “Um cliente deve poder consultar e comprar produtos através da nossa loja virtual. Desejamos poder cadastrar os produtos informando seu código, nome e preço e deixaremos para o cliente a realização do cadastro. No cadastro do cliente, deverá ser informado o cpf, nome, endereço e telefone.”

30  A history of object-oriented programming and their impact on program design and software development:  ges.pdf ges.pdf

31 Ajude a plantar árvores. É possível compensar sua emissão de carbono:


Carregar ppt "Professor: Leandro Luque.  Paradigma procedural Dados Procedimento 1 Procedimento 2Procedimento 3 Quais são os procedimentos/funções necessários para."

Apresentações semelhantes


Anúncios Google