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

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

Conceitos de Orientação a Objetos Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000.

Apresentações semelhantes


Apresentação em tema: "Conceitos de Orientação a Objetos Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000."— Transcrição da apresentação:

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

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

4 4 Exemplos Identidade: Telefone da minha casa Características: azul número tone Comportamento: tocar discar Identidade: ônibus da escola Características: cor amarela placa LXY assentos a diesel Comportamento: frear andar correr buzinar acelerar

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

6 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 7 Objeto Exemplo: Funcionário Mário Sá Nome = Mário Sá Nasc = 16/02/70 Salário = Estrutura de Dados Serviços, Interface ou protocolo InformarSalário CalcularIdade

8 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 9 Exemplo Identidade: Beija-flor Biju Características: cor das penas formato do bico velocidade de vôo Comportamento: voar piar Pássaro Características: cor das penas: azuis formato do bico: fino velocidade de vôo: rápida Comportamento: voar piar Identidade: Minha pomba Características: cor das penas: cinza formato do bico: curto velocidade de vôo: média Comportamento: voar piar

10 10 Exemplo Características: cor número discagem Comportamento: tocar discar Telefone Identidade: Meu celular Características: cor: preta número: discagem: tone Comportamento: tocar discar Identidade: Telefone da minha casa Características: cor: azul número: discagem: tone Comportamento: tocar discar

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

12 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 Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = InformarSalário CalcularIdade

13 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 Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = InformarSalário CalcularIdade Funcionário_Mário Nome=Mário Sá Nasc=16/02/1970 Salário = InformarSalário CalcularIdade Informar Salário?

14 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 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 16 Mensagens Funcionário Nome Nasc Salário InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = InformarSalário CalcularIdade Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = InformarSalário CalcularIdade ? ERRO! 4000 Informar Salário? Calcular Desconto?

17 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 18 Polimorfismo Círculo Coordenada X Coordenada Y Raio 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 Retângulo Coordenada X Coordenada Y Largura Altura CalcularÁrea CalcularÁrea() { área = pi * Raio * Raio; retorna área ; } 12,68 CalcularÁrea() { área = Largura * Altura; retorna área; } CalcularÁrea() 6

19 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 20 Herança Animal Anfíbio... Sapo Ex. Sapo Cururu Réptil Mamífero Roedor Rato Ex. Mickey Mouse... Ave Vegetal Mickey Mouse é uma instância de Rato Mickey Mouse é um Roedor Mickey Mouse é um Mamífero Mickey Mouse é um Animal Sapo Cururu é uma instância de Sapo Sapo Cururu é um Anfíbio Sapo Cururu é um Animal Mickey Mouse mama Sapo Cururu NÃO mama Sapo Cururu e Mickey Mouse respiram e têm coração

21 21 Herança Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 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 = InformarSalário CalcularIdade Projeto = HelpCallCenter InformaProjeto

22 22 Herança Subclasse (características específicas) Superclasse (características comuns) Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = 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 = Projeto = HelpCallCenter InformarSalário CalcularIdade InformaProjeto Todo objeto Gerente é um objeto Funcionário

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

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

25 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 26 Herança Funcionário Nome Nasc Salário InformarSalário CalcularIdade Cliente Nome Endereço Cartão Débito InformarCartão InformarDébito Funcionário_Cliente Funcionário_Helena Nome=Helena Reis Nasc=28/01/1965 Salário = InformarSalário CalcularIdade Funcionário_Cliente_Zé Nome= Zé Pereira Nasc=16/02/1970 Salário = Endereço= Rua Y casa 8 Cartão = Visa Débito = 3000 Desconto = 10% InformarSalário CalcularIdade InformarCartão InformarDébito InfromarDesconto Cliente_Márcia Nome= Márcia Silva Endereço=Rua X, 201 Cartão = Credicard Débito = 1000 InformarCar~tão InformarDébito Desconto InformarDébito InformarDesconto Herança Múltipla

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

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

30 30 Relacionamentos Agregações Semântica pré-definida de composição FuncionárioDepartamento 1,N Cardinalidade 1 Um Departamento contém 1 ou vários (1,N) Funcionários Semântica Todos os Funcionários pertencem a um Departamento

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


Carregar ppt "Conceitos de Orientação a Objetos Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000."

Apresentações semelhantes


Anúncios Google