1 / 31

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. Objeto. Definição: Um conceito, uma abstração com significado específico em um contexto Propósito:

zuri
Télécharger la présentation

Análise e Projeto de Sistemas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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: • 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 576-0989 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

  5. Características (estado) Nome = Mário Sá Nasc = 16/02/70 Salário = 3.000 Mário Objeto Representação Identidade Funcionário_Mário InformarSalário CalcularIdade Comportamento Serviços, Interface ou protocolo

  6. Objeto • Implementação • Interface Visível • Conjunto de operações • Parte encapsulada (escondida) • Implementação • Estrutura de dados – Estado • Implementação de suas operações - Métodos Estrutura de Dados (estado) 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 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 Características: cor das penas formato do bico velocidade de vôo Comportamento: voar piar Pássaro Identidade:‘Beija-flor Biju’ Identidade:‘Minha pomba’ Características: cor daspenas: azuis formato do bico: fino velocidade de vôo: rápida Características: cor daspenas: cinza formato do bico: curto velocidade de vôo: média Comportamento: voar piar Comportamento: voar piar

  10. Exemplo Características: cor número discagem Comportamento: tocar discar Telefone Identidade:‘Meu celular’ Identidade:‘Telefone da minha casa’ Características: cor:azul número: 576-0989 discagem: tone Características: cor: preta número: 99193467 discagem: tone Comportamento: tocar discar Comportamento: tocar discar

  11. Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade Instâncias (objetos) 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 Classe Classe

  12. Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade 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 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

  13. Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 InformarSalário CalcularIdade 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 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 4000 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. 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 Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Mensagens Informar Salário? 4000 ? 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. Círculo Coordenada X Coordenada Y Raio CalcularÁrea Retângulo Coordenada X Coordenada Y Largura Altura CalcularÁrea CírculoXpto Coordenada X = 10 Coordenada Y = 15 Raio = 2 CalcularÁrea ReatânguloXpto Coordenada X = 10 Coordenada Y = 15 Largura = 3 Altura = 2 CalcularÁrea CalcularÁrea() { área = pi * Raio * Raio; retorna área ; } Polimorfismo CalcularÁrea() 12,68 CalcularÁrea() 6 CalcularÁrea() { área = Largura * Altura; retorna área; }

  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 • 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. 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 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 Herança Projeto = HelpCallCenter InformaProjeto

  22. 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 Gerente Projeto InformarProjeto Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 Projeto = HelpCallCenter InformarSalário CalcularIdade InformaProjeto Herança Todo objeto Gerente “é um” objeto Funcionário Superclasse (características comuns) Subclasse (características específicas)

  23. Funcionário Nome Nasc Salário InformarSalário CalcularIdade Gerente Projeto InformarProjeto InformarSalário Herança • Polimorfismo Suponha que gerentes recebam um adicional de 5% do salário por gerenciar projetos... InformarSalário: retorna o valor contido no atributo ‘Salá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. Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 4.000 InformarSalário CalcularIdade Gerente_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = 3.000 Projeto = HelpCallCenter InformarSalário CalcularIdade InformaProjeto Herança • Polimorfismo Informar Salário? 4000 3150 Informar Salário?

  25. Herança • Herança Múltipla • 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. Cliente_Márcia Nome= Márcia Silva Endereço=Rua X, 201 Cartão = Credicard Débito = 1000 InformarCar~tão InformarDébito 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 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 Cliente Nome Endereço Cartão Débito InformarCartão InformarDébito Funcionário_Cliente Herança • Herança Múltipla Desconto InformarDesconto InformarDébito

  27. Indivíduo Nome Endereço Nasc InformarNome Funcionário Salário InformarSalário CalcularIdade Cliente Cartão Débito InformarCartão InformarDébito 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 Classe sem instâncias

  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. Cardinalidade 1,N supervisiona Funcionário Supervisor 0,N Semântica Cardinalidade Relacionamentos • Associações Simples Um supervisor supervisiona 1 ou vários (1,N) Funcionários Um Funcionário é supervisionado por nenhum ou vários (0,N) Supervisores

  30. Cardinalidade 1,N Funcionário Departamento 1 Semântica Cardinalidade Relacionamentos • Agregações • Semântica pré-definida de composição Um Departamento contém 1 ou vários (1,N) Funcionários 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

More Related