Modelagem de Sistemas - 2015.2 - Aula 01 - Revisão de Conceitos de OO

download Modelagem de Sistemas - 2015.2 - Aula 01 - Revisão de Conceitos de OO

of 37

Transcript of Modelagem de Sistemas - 2015.2 - Aula 01 - Revisão de Conceitos de OO

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    1/37

    Aula 1 Reviso de

    Conceitos de OO

    Modelagem de Sistemas

    Prof. Frederico Bortolato

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    2/37

    Agenda

    1. Conceito de Objeto

    2. Estado, Comportamento e Identidade

    3. Princpios da Orientao Objetos4. Classes

    5. Herana (Generalizao)

    6. Polimorfismo, Sobrecarga e Sobreposio7. Exerccios

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    3/37

    Orientao Objetos - Reviso

    Uma nova maneira de pensar [e organizar] os problemasutilizando conceitos do Mundo Real. O componentefundamental o OBJETO que combina estrutura e

    comportamento em uma nica entidade[Raumbaugh]

    Um sistema orientado a objetos uma coleo de objetos

    que interagem entre si

    [Bertrand Meyer]

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    4/37

    As Bases da Orientao a Objetos

    Correspondncia com o mundo real

    Modularidade dos componentes

    Objetos com finalidade prpria Permite a combinao destes Objetos

    Baixa dependncia externa

    Alta coeso interna Fcil ampliao do objeto

    Permite reuso dos objetos

    Encapsulamento

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    5/37

    Conceito de Objeto

    Objeto um elemento do mundo real (Jos Davi Furlan) Informalmente, um objeto representa uma entidade que

    pode ser fsica, conceitual ou de software.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    6/37

    Exemplos de Objetos

    Concretos: pessoa, lpis, carro, etc.

    Intangveis: hora, projeto, organizao, etc.

    Personagem: mdico, professor, etc.

    Relacional: casamento, parceiro, propriedade.

    Evento: venda, defeito do sistema.

    Interface Grfica: janela, cone, boto.

    Muitos outros...

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    7/37

    Definio formal de Objeto

    Um objeto uma entidade com uma fronteirabem definida e uma identidadeque encapsula

    estadose comportamento.

    Estado representado por atributos e

    relacionamentos. Comportamento representado por

    operaes, mtodos e mquinas de estados.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    8/37

    Estados do Objeto

    O estado de um objeto a condio ou situao duranteo ciclo de vida (em um dado instante) de um objeto oqual satisfaz algumas condies, executa algumaatividade ou aguarda algum evento.

    O estado de um objeto normalmente mudo ao longo dotempo.

    Exemplos:

    Idade de uma Pessoa (objeto Pessoa) Saldo de um Cliente (objeto Cliente)

    Quantidade de Alunos (objeto Turma)

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    9/37

    Comportamento do Objeto

    O comportamento determina como um objeto age ereage.

    O comportamento observvel de um objeto modelado por um conjunto de mensagens que elepode responder. (operaes que o objeto executa).

    Exemplo:

    Adicionar Aluno (objeto Turma)

    Calcular Saldo Devedor (objeto Conta)

    Publicar Notas Finais (objeto Professor)

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    10/37

    Identidade de um Objeto

    o nome do objeto que o identifica demaneira nica.

    Cada objeto possui uma identidade nica,mesmo que o estado do objeto seja idnticoao de outro objeto.

    Exemplos:

    Frederico (objeto Professor)

    Mauricio (objeto Professor)

    Joo (objeto Aluno)

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    11/37

    Princpios da Orientao Objetos

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    12/37

    Abstrao

    So caractersticas essenciais de uma entidade que adistingue de todos os outros tipos de entidade.

    Define uma fronteira relativa perspectiva do

    observador. No uma manifestao concreta, denota a essncia

    ideal de alguma coisa (focalizar o essencial,ignorando os pormenores).

    Deve ser executada com algum objetivo para saber oque importante e o que no .

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    13/37

    Exemplos de Abstrao

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    14/37

    Exemplos de abstrao

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    15/37

    Encapsulamento

    Atributos e Operaes de um Objeto devem estararmazenados no prprio Objeto (encapsulados noObjeto), escondendo a implementao dosclientes.

    A funo do encapsulamento proteger os dadosdo acesso descontrolado.

    O acesso realizado por intermdio demensagens (execuo das operaes) trocadas

    entre os objetos. As operaes funcionam como servios que o

    objeto fornece ao mundo exterior (clientesdependem dessa interface).

    Dados

    Operao

    Operao

    Operao

    Objeto

    Lampada

    tensao

    preco

    acender()

    comprar()

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    16/37

    Modularidade

    Quebra algo complexo em partes gerenciveis.

    Auxilia as pessoas a entender sistemas

    complexos.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    17/37

    Exemplo de Modularidade

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    18/37

    Hierarquia

    Maior abstrao

    Menor abstrao

    Ativo

    ContaBancria

    PoupanaConta

    Corrente

    ValoresMobilirios

    Aes Aplices

    TtuloPblico

    Elementos em um mesmo nvel hierrquico

    devem estar no mesmo nvel de abstrao.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    19/37

    Classe

    Uma classe uma descrio formal de um conjunto deobjetosque compartilhamos mesmos atributos,operaes, relacionamentos e semntica (mesmaespecificao).

    Uma classe uma abstraoque evidenciacaractersticas relevantes e suprime outrascaractersticas.

    Se comporta como um modelopara criao de objetos.

    Define a estrutura e o comportamento de cada objeto daclasse.

    Um objeto uma instnciade uma classe.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    20/37

    Exemplos de Classes

    ClasseVeculo

    Objeto da ClasseMercedes do Bruno

    ClassePessoa

    Objeto da ClasseJoo

    Obs.: Um objeto tambm chamado de instncia daclasse.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    21/37

    Atributo de classe

    Um atributo uma propriedade nomeada de uma classe edescreve um conjunto de valores (domnio) que as instnciasdesta propriedade podem assumir.

    Uma classe pode possuir um nmero qualquer de atributos,

    inclusive nenhum.

    Atributos

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    22/37

    Atributos em classes e objetos

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    23/37

    Operaes

    Um servio que pode ser requisitado de um objeto para afetarseu comportamento.

    Uma operao possui uma assinatura a qual define a forma eos parmetros da operao.

    A classe pode ter nenhuma ou muitas operaes.

    Operaes

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    24/37

    Mensagens

    A comunicao entre os objetosocorre pela troca de mensagens

    Um objeto solicita informaes de

    outro objeto para realizar suasfunes

    Uma mensagem a execuo deuma operao

    Uma mensagem pode ou noenviar parmetros para outroobjeto, bem como receber ou nouma resposta do mesmo.

    Dados

    Operao

    Operao

    Operao

    Objeto 1

    Dados

    Operao

    Operao

    Operao

    Objeto 2

    Dados

    Operao

    Operao

    Operao

    Objeto 3

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    25/37

    Herana

    a capacidade de um novo tipo de objeto(classe filha) tomar (herdar) caractersticas ecomportamentos de um outro tipo de

    objeto(classe pai) j existente.Conta

    Bancria

    PoupanaConta

    Corrente

    Define um relacionamento de Generalizao

    entre as classes

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    26/37

    Herana

    Um objeto de uma subclasse herda os atributos, operaes erelacionamentos da superclasse.

    Permite que as propriedades da classe me possam serexpandidas para a classe filha incluindo novas caractersticas.

    O uso de herana permite criar classes mais genricas e/oumais especficas.

    A herana aumenta a capacidade de reutilizao das classes.

    Uma subclasse pode: Adicionar atributos, operaes e relacionamentos novos.

    Redefinir operaes herdadas.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    27/37

    Exemplos de Herana

    Exemplo 1:Classe paiAutomvelClasse filhaPorshe

    Porshe herda caractersticas e comportamentos da classe Automvel.

    Atributos do Automvel: Potncia, capacidade de passageiros.

    Atributos do Porshe: Turbo.

    Exemplo 2:Classe pai PessoaClasse filhaCliente do Banco

    Cliente herda caractersticas e comportamentos da classe Pessoa.

    Atributos de Pessoa: Nome, Idade, EndereoAtributos de Cliente: Conta, Agencia

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    28/37

    Herana simples

    Uma classe herana de nica outra.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    29/37

    Herana Mltipla

    Uma classe pode ser herdeira de vrias classes.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    30/37

    Polimorfismo

    Habilidade de esconder muitasimplementaes por trs de uma nica

    interface. Habilidade de duas ou mais classes

    responderem mesma solicitao, cada uma a

    seu modo.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    31/37

    Exemplo de Polimorfismo

    A classe cliente no precisa saber como e onde calculado o Valor (encapsulamento)

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    32/37

    Sobrecarga

    Em uma mesma classe pode possuiroperaes com o mesmo nome e parmetros

    diferentes. Quando isso ocorre dizemos que este mtodo

    foi sobrecarregado.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    33/37

    Sobreposio

    Em uma hierarquia de classes, caso exista ummtodo na sub-classe com a mesma

    assinatura de um mtodo da classe pai, estese sobrepor ao mtodo da super-classe.

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    34/37

    Dvidas e sugestes

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    35/37

    Exerccio 1

    Quantas classes podemos definir?

    Antnio

    Carlos

    Carro

    CachorroAve

    TV

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    36/37

    Exerccio 2

    Avalie as sentenas abaixo como Verdadeiro (V) ou Falso (F):( ) So 3 os elementos que caracterizam um objeto: Identidade,Estado e Comportamento.

    ( ) As classes so elementos do mundo real, no se

    caracterizando por nenhum tipo de abstrao sobre eles.( ) O Estado de um objeto a condio ou situao durante ociclo de vida (em um dado instante) de um objeto o qual satisfazalgumas condies, executa alguma atividade ou aguarda algum

    evento.( ) Dois objetos distintos, se possurem o mesmo Estado e omesmo Comportamento, tero a mesma Identidade

  • 7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO

    37/37

    Exerccio 2 (cont)

    Avalie as sentenas abaixo como Verdadeiro (V) ou Falso (F):( ) A funo do encapsulamento proteger os dados do acessodescontrolado, escondendo a sua implementao dos clientes,sendo que o acesso realizado por intermdio de mensagens

    entre os objetos.( ) Classe uma coleo de objetos que compartilhamidentidades.

    ( ) Num relacionamento de Generalizao (herana), um objeto

    de uma subclasse herda somente os atributos da superclasse.( ) O Polimorfismo a habilidade de esconder muitasimplementaes por trs de uma nica interface.