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

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

Análise e Projeto de Sistemas

Apresentações semelhantes


Apresentação em tema: "Análise e Projeto de Sistemas"— Transcrição da apresentação:

1 Análise e Projeto de Sistemas
Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto de Sistemas Conceitos de Orientação a Objetos Renata Araujo Ricardo Storino

2 Objeto Definição: Propósito:
Um conceito, uma abstração com significado específico em um contexto Propósito: Entidade de software que reflete de alguma forma o mundo real representar uma entidade do mundo real Objetos possuem: Identidade Conjunto de características que determinam seu estado Comportamento específico definido por um conjunto de ações

3 Exemplos Identidade: ‘Beija-flor Biju’ Identidade: ‘Pessoa Mário’
Características: penas azuis bico fino vôo rápido Características: olhos pretos nasceu em 16/02/70 pesa 70kg mede 1,70m Comportamento: voar piar Comportamento: andar falar comer rir

4 Exemplos Identidade: ‘Telefone da minha casa’ Características:
azul número tone Identidade: ‘ônibus da escola’ Características: cor amarela placa LXY 7684 30 assentos a diesel Comportamento: tocar discar Comportamento: frear andar correr buzinar acelerar - Mais exemplos - Intergir com a turma, pedindo novos exemplos de objetos

5 Objeto Representação Serviços, Interface ou protocolo Mário Identidade
Características (estado) Nome = Mário Sá Nasc = 16/02/70 Salário = 3.000 Funcionário_Mário Mário InformarSalário CalcularIdade Comportamento Os objetivos das diversas linguagens para modelagem de objetos está em representar suas características e comportamento dentro do sistema. Serviços, Interface ou protocolo

6 Objeto Implementação Interface Visível Parte encapsulada (escondida)
Conjunto de operações Parte encapsulada (escondida) Estrutura de dados – Estado Implementação de suas operações - Métodos Estrutura de Dados (estado) A implementação de objetos segue o princípio do encapsulamento. Por este princípio, o estado dos objetos (valores que compõem suas características são implementados mas não permanecem visíveis para os demais objetos dentro do sistema. Informações sobre os objetos, bem como solicitação de realização de determinadas atividades devem ser feitas através de uma interface ou protocolo que indica quais as atividades que um determinado objeto pode realizar. Esta interface é implementada como funções do objeto. Serviços, Interface ou protocolo

7 Objeto Exemplo: Funcionário Mário Sá InformarSalário
Nome = Mário Sá Nasc = 16/02/70 Salário = 3.000 InformarSalário Estrutura de Dados CalcularIdade Serviços, Interface ou protocolo

8 Classe Definição: Abstrações utilizadas para representar um conjunto de objetos com características e comportamento idênticos Uma classe pode ser vista como uma “fábrica de objetos” Objetos de uma classe são denominados “instâncias” Todos os objetos são instâncias de alguma classe Todos os objetos de uma classe são idênticos no que diz respeito a sua interface e implementação

9 Exemplo Pássaro Características: cor das penas Comportamento: voar
formato do bico velocidade de vôo Comportamento: voar piar Pássaro Identidade: ‘Beija-flor Biju’ Identidade: ‘Minha pomba’ Características: cor das penas: azuis formato do bico: fino velocidade de vôo: rápida Características: cor das penas: cinza formato do bico: curto velocidade de vôo: média Comportamento: voar piar Comportamento: voar piar

10 Exemplo Telefone Características: cor Comportamento: tocar
número discagem Comportamento: tocar discar Telefone Identidade: ‘Meu celular’ Identidade: ‘Telefone da minha casa’ Características: cor: azul número: discagem: tone Características: cor: preta número: discagem: tone - Mais exemplos - Interagir com a turma, pedindo mais exemplos de classes e suas instâncias Comportamento: tocar discar Comportamento: tocar discar

11 Classe Classe Instâncias (objetos) Funcionário Nome Nasc Salário
InformarSalário CalcularIdade Classe Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade Instâncias (objetos)

12 Atributos Descrevem as características das instâncias de uma classe
Seus valores definem o estado do objeto O estado de um objeto pode mudar ao longo de sua existência A identidade de um objeto, contudo, nunca muda Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade

13 Serviços/Métodos Representam o comportamento das instâncias de uma classe Correspondem ao protocolo ou ações das instâncias de uma classe Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade 4000 Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade 3000 Informar Salário?

14 Serviços/Métodos Um método é a implementação de uma operação
Métodos só tem acesso aos dados da classe para a qual foram definidos Os dados de uma classe só podem ser manipulados por métodos da classe (pelo princípio do encapsulamento) Métodos possuem argumentos, variáveis locais , valor de retorno etc Alguns métodos especiais: Construtores – criam objetos de uma classe Destrutores – destroem objetos de uma classe

15 Mensagens Objetos são entidades independentes que necessitam se comunicar Troca de mensagens como paradigma de comunicação entre objetos Os dados de um objeto não podem ser manipulados ou vistos por outro objeto Para obter informações ou ativar o comportamento de objetos, é preciso enviar-lhes mensagens Objetos só reagem a mensagens que fazem parte das ações do protocolo de sua classe Ao receber uma mensagem, o objeto busca em seu protocolo um método que irá responder a tal mensagem

16 Mensagens ? ERRO! Informar Salário? 4000 Calcular Desconto?
Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade 4000 Informar Salário? ? Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Calcular Desconto? ERRO!

17 Polimorfismo Possibilidade de enviar uma mesma mensagem para objetos de classes diferentes Cada uma das classes implementa um método específico para responder à mensagem Definição de protocolos comuns

18 Polimorfismo CalcularÁrea() 12,68 CalcularÁrea() 6 CalcularÁrea() {
área = pi * Raio * Raio; retorna área ; } Polimorfismo Círculo Coordenada X Coordenada Y Raio CalcularÁrea CírculoXpto Coordenada X = 10 Coordenada Y = 15 Raio = 2 CalcularÁrea CalcularÁrea() 12,68 Retângulo Coordenada X Coordenada Y Largura Altura CalcularÁrea ReatânguloXpto Coordenada X = 10 Coordenada Y = 15 Largura = 3 Altura = 2 CalcularÁrea CalcularÁrea() CalcularÁrea() { área = Largura * Altura; retorna área; } 6

19 Herança Conceito que expressa similaridades entre classes
Estabelecem relacionamentos de generalização-especialização (“é-um”) entre classes Permitem estabelecer hierarquias de classificação

20 Herança Animal Vegetal Sapo Cururu é uma instância de Sapo
Anfíbio ... Sapo Ex. Sapo Cururu Réptil Mamífero Roedor Rato Ex. Mickey Mouse Ave Vegetal Sapo Cururu é uma instância de Sapo Sapo Cururu “é um” Anfíbio Sapo Cururu “é um” Animal Mickey Mouse é uma instância de Rato Mickey Mouse “é um” Roedor Mickey Mouse “é um” Mamífero Mickey Mouse “é um” Animal Mickey Mouse mama Sapo Cururu NÃO mama Sapo Cururu e Mickey Mouse respiram e têm coração

21 Herança Funcionário Nome Nasc Salário InformarSalário CalcularIdade
Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Gerente Nome Nasc Salário Projeto InformarProjeto InformarSalário CalcularIdade Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade Projeto = HelpCallCenter InformaProjeto

22 Herança Todo objeto Gerente “é um” objeto Funcionário Superclasse
Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário Nome Nasc Salário Superclasse (características comuns) Subclasse (características específicas) Gerente Projeto InformarProjeto Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 Projeto = HelpCallCenter InformarSalário CalcularIdade InformaProjeto - Mais exemplos - Interagir com a turma pedindo mais exemplos de herança Sugestão: Veículo Ônibus Carro Moto Van

23 Herança Polimorfismo Embora o serviço tenha o mesmo nome,
Suponha que gerentes recebam um adicional de 5% do salário por gerenciar projetos... Funcionário Nome Nasc Salário InformarSalário CalcularIdade InformarSalário: retorna o valor contido no atributo ‘Salário’ Gerente Projeto InformarProjeto InformarSalário Embora o serviço tenha o mesmo nome, dependendo da classe, terá um comportamento distinto InformarSalário: retorna o valor contido no atributo ‘Salário’ adicionado com 5%

24 Herança Polimorfismo Informar Salário? 4000 3150 Informar Salário?
Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Informar Salário? 4000 Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 Projeto = HelpCallCenter InformarSalário CalcularIdade InformaProjeto 3150 Informar Salário?

25 Herança Herança Múltipla Exemplo:
Classes herdam características de várias classes Exemplo: Numa empresa administradora de cartões de crédito, alguns de seus funcionários são também seus clientes...

26 Funcionário_Cliente_Zé
Herança Cliente_Márcia Nome= Márcia Silva Endereço=Rua X, 201 Cartão = Credicard Débito = 1000 InformarCar~tão InformarDébito Cliente Nome Endereço Cartão Débito InformarCartão InformarDébito Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Cliente_Zé Nome= Zé Pereira Nasc=16/02/1970 Salário = 3.000 Endereço= Rua Y casa 8 Cartão = Visa Débito = 3000 Desconto = 10% InformarSalário CalcularIdade InformarCartão InformarDébito InfromarDesconto - Mais exemplos - Interagir com a turma, solicitando mais exemplos de herança múltipla. Sugestão: ugestão: Veículo VeículoColetivo Ônibus Van VeículoParticular Automóvel Moto VeículoDeCarga Caminhão Caminhonete Funcionário_Cliente Herança Múltipla Desconto InformarDesconto InformarDébito

27 Classe Abstrata Representação de uma classe que não possui instâncias
Utilizada com objetivo de: diminuir a complexidade auxiliar a classificação e organização da modelagem Indivíduo Nome Endereço Nasc InformarNome Classe sem instâncias Cliente Cartão Débito InformarCartão InformarDébito Funcionário Salário InformarSalário CalcularIdade

28 Relacionamentos Instâncias de classes podem manter relacionamentos com instâncias de outras classes Associações simples, com significado não definido previamente Associações com semântica pré-definida

29 Um supervisor supervisiona 1 ou vários (1,N) Funcionários
Relacionamentos Associações Simples Um supervisor supervisiona 1 ou vários (1,N) Funcionários 1,N Cardinalidade Funcionário Supervisor supervisiona Semântica - Mais exemplos - Interagir com a turma pedindo novos exemplos de associações Sugestões: Livro e autor Turma e professor 0,N Cardinalidade Um Funcionário é supervisionado por nenhum ou vários (0,N) Supervisores

30 Relacionamentos Agregações Cardinalidade Semântica Cardinalidade
Semântica pré-definida de composição Um Departamento contém 1 ou vários (1,N) Funcionários 1,N Cardinalidade Funcionário Departamento Semântica - Mais exemplos- Interagir com a turma, pedindo mais exemplos de relacionamentos de agregação Ex. Carro e suas partes Livro, capítulos, seções 1 Cardinalidade Todos os Funcionários pertencem a um Departamento

31 Cardinalidade 0..1 - nenhum ou apenas um 0..N - nenhum ou vários
1 - somente um 1..N - vários


Carregar ppt "Análise e Projeto de Sistemas"

Apresentações semelhantes


Anúncios Google