SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
ANÁLISE PROJETO E
PROGRAMAÇÃO PARA WEB



CLASSES ABSTRATAS
Profª. Maria Alice Jovinski
ABSTRAÇÃO

   “Consiste em enfocar nos aspectos
       essenciais de uma entidade e
    ignorar suas propriedades internas.
   Significa enfocar no que um objeto é
      e faz, antes de decidir como ele
          dever ser implementado”
                [Rumbaugh]
ABSTRAÇÃO

 A   abstração se preocupa com a
   visão superficial de um objeto, por
   isso   serve     para  separar    o
   comportamento de um objeto de sua
   implementação.
ABSTRAÇÃO

    É independente de uma linguagem, mas linguagens
     OO dão mais poder.
        Ex.: Os atributos de um Carro dependem de seu ponto de
         vista.
          Ponto de vista de um vendedor:
             Modelo, Preço, Cor.

          Ponto de vista de um mecânico;

             Tipo de motor, tipo de transmissão.
ABSTRAÇÃO EM JAVA

   Através da definição de classes abstratas.
   São classes definidas exclusivamente para servirem
    de classe base.
   Não podem gerar objetos.

   Para se definir uma classe abstrata usa-se a palavra
    reservada – abstract.
CLASSES ABSTRATAS

     São classes que se comportam como um esqueleto
      (não podem ser instanciadas)‫‏‬
         As classes filhas de uma classe abstrata apenas herdam o
          que está definido
     Define a estrutura sem fornecer a implementação
      completa de cada método.
CLASSES ABSTRATAS

     Uma classe abstrata pode conter métodos abstratos
      ou não.
         Operações que têm seu protocolo definido na classe
          abstrata e são implementadas nas classes derivadas.
          Desejando-se utilizar os métodos abstratos, estes devem
          ser implementados nas classes derivadas.
     Sempre que for definido um método abstrato a classe
      deve ser abstrata.
CLASSE ABSTRATA FORMAGRAFICA

                          Gráfica
EXEMPLO CLASSE ABSTRATA
FORMAGRAFICA
abstract class FormaGrafica {
 protected float x,y;
    ....
    public void move(float dx,float dy) {
         this.x+=dx; this.y+=dy;
    }
    ....
    abstract public void mostra(); //método abstrato
}
EXEMPLO CLASSE PONTO

class Ponto extends FormaGrafica {

    public Ponto(float ax,float ay) {
        this.x=ax; this.y=ay;
    }
    public void mostra() {
        System.out.println("("+this.x+","+this.y+")");
    }
}
MAIS UM EXEMPLO: CÍRCULO

  class Circulo extends FormaGrafica {
    protected float raio;
    public Circulo(float ax,float ay, float raio) {
        this.x=ax; this.y=ay; this.raio=raio;
    }
    public void mostra() {
        System.out.println("("+this.x+","+this.y+")");
        System.out.println(“Raio‫‏+“‏:‏‬this.raio);
    }
  }
EXEMPLO CLASSE RETANGULO
  class Retangulo extends FormaGrafica {
     protected float dx,dy; //canto superior x,y

       public Retangulo(float ax,float ay,float dx,float dy) {
             this.x=ax; this.y=ay;
             this.dx=dx; this.dy=dy;
       }
       public void move(float x, float y, float dx, float dy) {
             super.move(x,y);
             this.dx+=dx;
             this.dy+=dy;
      }
       public void mostra() {
             System.out.println("("+this.x+","+this.y+")("+dx+","+dy+")");
       }
  }
TESTANDO AS FORMAS GRÁFICAS
 public class Main {
   public static void main(String[] args) {
      Ponto pt = new Ponto(15,1);
      Circulo circ = new Circulo(1,10,50);
      Retangulo ret = new Retangulo(1,1,15,20);

         System.out.println("Ponto");
         pt.mostra();
         System.out.println("Circulo");
         circ.mostra();
         System.out.println("Retangulo");
         ret.mostra();
     }
 }
CLASSES DE ANÁLISE
 Representam um modelo conceitual primário para
  elementos que têm responsabilidades e
  comportamento no sistema.
 São mantidas em um alto nível, numa visão
  puramente conceitual.
CLASSES E OBJETOS
 Objeto é simplesmente alguma coisa que faz
  sentido no contexto da aplicação.
 Não deve ter nomes vagos
       Ex.: Dados, Informação.
CLASSES E OBJETOS
   A Classe descreve um grupo de objetos com
    propriedades similares (atributos), comportamento
    comum (operações), relacionamento com outros
    objetos e semântica comum
       Ex.: Pessoa, empresa, janela
   Agrupando Objetos em Classes nós estamos
    abstraindo o problema.
DIAGRAMA DE ESTRUTURA ESTÁTICA
   Diagrama de Classes
     É um esquema, padrão, ou molde, para descrever,
      várias possíveis instâncias de dados.
     Descreve as Classes
CLASSES E OBJETOS

    Diagrama de Classes


                       Pessoa

    Diagrama de Objetos/Instâncias



      João:Pessoa     Maria:Pessoa    Ana
ATRIBUTOS

  Um    atributo é uma propriedade de um objeto
      Ex.: Nome, idade (atributos de pessoa)
  Cada  atributo tem um valor para cada
   instância
      A idade de João é 26
  Devem     ser valores de dados puros, e não
   objetos
  Um atributo pode ter um valor default
ATRIBUTOS

   Visibilidade:

       + {público}: o elemento pode ser utilizado pelo objeto no
        qual ele pertence e por qualquer objeto cliente.

       # {protegido}: o elemento pode ser utilizado somente pelo
        próprio objeto no qual ele pertence, ou se existirem, pelas
        suas subclasses.

       - {privado}: o elemento pode ser utilizado somente pelo
        objeto ao qual ele pertence.

       ~{package}: visível a classes do mesmo package.
ATRIBUTOS

      Diagrama de Classes/Objetos

                      Pessoa             Represente a
                     Nome: String         visibilidade
                                            desses
                     Idade: Inteiro        atributos.




        :Pessoa                       :Pessoa
       Nome=João                       Maria
       Idade= 28                        25
OPERAÇÕES E MÉTODOS
   Uma operação é uma função, ou transformação,
    que pode ser aplicada para ou por objetos em uma
    classe
       Contratar, PagarSalários são operações da Classe
        Empresa
   Um método é uma implementação específica de
    uma Operação
OPERAÇÕES E MÉTODOS
   Operações podem ser polimórficas
       Imprimir arquivos binários, textos, figuras.
   Operações podem receber parâmetros
       Mover um polígono 10 pixels
   Todas as instâncias de uma classe compartilham
    as mesmas operações.
OPERAÇÕES E MÉTODOS
   Diagrama de Classes

                                            Supondo que o
                          Pessoa        obterIdade() seja usado
                                        somente por um objeto
                      -Nome: String     desta classe, qual deve
                      -Idade: Inteiro      ser o símbolo de
                                         visibilidade para este
                                                método?
                      mudarNome()
                      obterIdade()
RELACIONAMENTOS
 Associação
 Agregação

 Composição

 Generalização

 Especialização
ASSOCIAÇÕES
 É uma relação que descreve um conjunto de
  vínculos entre elementos de modelo
 Podem ser reflexivas, binárias, ternárias, etc.
ASSOCIAÇÕES
   Diagrama de Classes


             País                       Cidade
                          Tem-capital
             Nome                        Nome



   Diagrama de Objetos

             :País                      :Cidade
                          Tem-capital
             Brasil                      Brasília
ASSOCIAÇÕES BINÁRIAS
   Quando há duas classes envolvidas na associação
    de forma direta de uma para a outra (mutualismo)




            Empregado                     Empresa
                          Trabalha-para
MULTIPLICIDADE DE ASSOCIAÇÃO
 Especifica quantas instâncias de uma
  classe pode se relacionar com cada
  instância de outra classe.
 Limita o número na relação entre os
  objetos.
 Geralmente‫‏‬é‫“‏‬um”‫‏‬ou‫“‏‬muitos”,‫‏‬mas‫‏‬pode‫‏‬
  ser um conjunto finito.
               Carro                       Roda
                       se-move-sobre
                                       4
MULTIPLICIDADE DE ASSOCIAÇÃO
   Mais exemplos....


           Empregado                           Empresa
                            Trabalha-para

                         0..*


           Workstation                 0..1    Janela


                                     console
MULTIPLICIDADE - UML


              Exatamente 1
    0..*
             Muitos (zero ou mais)

    0..1
             Opcional (zero ou um)
    1..*
              Um ou mais
     4
             Numericamente Especificado (exatamente 4)

   2,4..7
             Numericamente Especificado (2,4,5,6 ou 7)
PAPÉIS DA ASSOCIAÇÃO

   É o nome que identifica um lado da Associação.
   Também chamado de Papel Executado (ou Nomes de
    Papel, Role Names);




         Pessoa   Empregado       Empregador   Empresa

                        Trabalha-para
                        (associação)
ASSOCIAÇÃO
   Diagrama de Classes


          Empregado            Trabalha-para   Empresa
             Nome                              Nome
             Cargo      1..*

   Diagrama de Instâncias (Objetos)

          :Empregado           Trabalha-para   :Empresa
              Lucas
                                                IBM
             Analista   1..*
AGREGAÇÃO
 É‫‏‬a‫‏‬relação‫“‏‬parte-todo”‫‏‬ou‫“‏‬uma-parte-de”.
 É uma forma especial de associação.

 É‫‏‬uma‫‏‬relação‫‏‬do‫‏‬tipo‫“‏‬todo/parte”‫‏‬ou‫“‏‬possui‫‏‬um”‫‏‬
  na qual uma classe representa uma coisa grande
  que é composta de coisas menores.
AGREGAÇÃO
   Ex: Diagrama de Classes


                       Microcomputador
                              Tipo




         Placa-Mãe        Processador       RAM
           Marca          Velocidade     Capacidade
AGREGAÇÃO
   Ex: Diagrama de Instâncias (Objetos)


                            :Micro
                             P-IV




       :Placa-Mãe           :CPU           :RAM
          ASUS            1.4 Ghz          128 MB
AGREGAÇÃO


               Instituto




            Departamento
GENERALIZAÇÃO

 Generalização é o relacionamento que organiza
  Classes baseado em suas similaridades e diferenças.
 É a capacidade de se criar supertipos que encapsulam
  a estrutura e o comportamento comum a vários
  subtipos. Os procedimentos para se obter
  generalização são:
       Identificar similaridades de estrutura/comportamento entre
        várias classes.
       Criar o supertipo para encapsular a estrutura e o
        comportamento comum a mais de uma classe.
       Os objetos originais passam a ser subtipos do novo supertipo
        criado.
ESPECIALIZAÇÃO


   É  a capacidade de se criar subtipos que
     representam refinamentos nos quais a
     estrutura e/ou comportamento do supertipo
     são adicionados ou modificados.
    Os procedimentos são:
      Perceber que algumas classes apresentam
       estrutura e/ou comportamento especializado.
      Criar subtipos de acordo com a especialização.
GENERALIZAÇÃO/ESPECIALIZAÇÃO
   Ex.:
                           Pessoa
                             matrícula
                              nome
                              idade

                         mudarNome()
                         obterIdade()




           Funcionário                   Professor



           promover()                    contratar()
ATENÇÃO

        Pode confundir em virtude da notação




                    G                    A



      Generalização = é-um
      Agregação = tem-um, é-parte-de

Mais conteúdo relacionado

Mais procurados

Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLAlessandro Almeida
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
07 diagrama de classes de análise
07  diagrama de classes de análise07  diagrama de classes de análise
07 diagrama de classes de análiseFilipe Soares
 
Diagrama de Classe: Relacionamento de Composição
Diagrama de Classe: Relacionamento de ComposiçãoDiagrama de Classe: Relacionamento de Composição
Diagrama de Classe: Relacionamento de ComposiçãomarcusNOGUEIRA
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classesMarco Coelho
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetossoncino
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Uml
UmlUml
Umllcbj
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 

Mais procurados (20)

Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
07 diagrama de classes de análise
07  diagrama de classes de análise07  diagrama de classes de análise
07 diagrama de classes de análise
 
Diagrama de Classe: Relacionamento de Composição
Diagrama de Classe: Relacionamento de ComposiçãoDiagrama de Classe: Relacionamento de Composição
Diagrama de Classe: Relacionamento de Composição
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Classes
ClassesClasses
Classes
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
SCJA
SCJASCJA
SCJA
 
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de ClassesModelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetos
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Uml
UmlUml
Uml
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
8 02
8 028 02
8 02
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 

Semelhante a Classes Abstratas e Relacionamentos

Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxCarlos Albuquerque
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Object Oriented Programming
Object Oriented Programming Object Oriented Programming
Object Oriented Programming Alexandre Schmidt
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de DadosFabio Abel
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )PeslPinguim
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0César Augusto Pessôa
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Sérgio Souza Costa
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Jhonefj
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 

Semelhante a Classes Abstratas e Relacionamentos (20)

Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Aula 5 uml1 (1)
Aula 5   uml1 (1)Aula 5   uml1 (1)
Aula 5 uml1 (1)
 
Object Oriented Programming
Object Oriented Programming Object Oriented Programming
Object Oriented Programming
 
Trabalho de análise e projeto 2
Trabalho de análise e projeto 2Trabalho de análise e projeto 2
Trabalho de análise e projeto 2
 
Java7
Java7Java7
Java7
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )
 
Aula02
Aula02Aula02
Aula02
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
03 poo
03 poo03 poo
03 poo
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de ClassesAnálise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++
 
Poo (1)
Poo (1)Poo (1)
Poo (1)
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 

Mais de Maria Alice Jovinski

Marketing pessoal você é sua melhor marca
Marketing pessoal   você é sua melhor marcaMarketing pessoal   você é sua melhor marca
Marketing pessoal você é sua melhor marcaMaria Alice Jovinski
 
5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing Digital5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing DigitalMaria Alice Jovinski
 
Marketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e EncontrabilidadeMarketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e EncontrabilidadeMaria Alice Jovinski
 
Aula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing DigitalAula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing DigitalMaria Alice Jovinski
 
Aula 01 introdução marketing digital
Aula 01   introdução marketing digitalAula 01   introdução marketing digital
Aula 01 introdução marketing digitalMaria Alice Jovinski
 
Revisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSIRevisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSIMaria Alice Jovinski
 
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSIAula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSIMaria Alice Jovinski
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoMaria Alice Jovinski
 
Aula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniaoAula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniaoMaria Alice Jovinski
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoMaria Alice Jovinski
 
Aula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoAula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoMaria Alice Jovinski
 
Marketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMarketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMaria Alice Jovinski
 
Aula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniaoAula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniaoMaria Alice Jovinski
 
Aula de Revisão - Marketing Digital - 1º bimestre
Aula de Revisão - Marketing Digital -  1º bimestreAula de Revisão - Marketing Digital -  1º bimestre
Aula de Revisão - Marketing Digital - 1º bimestreMaria Alice Jovinski
 
Aula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoAula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoMaria Alice Jovinski
 

Mais de Maria Alice Jovinski (18)

Marketing pessoal você é sua melhor marca
Marketing pessoal   você é sua melhor marcaMarketing pessoal   você é sua melhor marca
Marketing pessoal você é sua melhor marca
 
5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing Digital5º P - Propaganda Marketing Digital
5º P - Propaganda Marketing Digital
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
Marketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e EncontrabilidadeMarketing Digital - Publicação e Encontrabilidade
Marketing Digital - Publicação e Encontrabilidade
 
Aula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing DigitalAula de Revisão 1º parcial - Marketing Digital
Aula de Revisão 1º parcial - Marketing Digital
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
 
Aula 01 introdução marketing digital
Aula 01   introdução marketing digitalAula 01   introdução marketing digital
Aula 01 introdução marketing digital
 
Revisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSIRevisão 2º bimestre - Marketing Digital TSI
Revisão 2º bimestre - Marketing Digital TSI
 
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSIAula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniao
 
Aula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniaoAula diagrama de colaboracao 3º periodo uniao
Aula diagrama de colaboracao 3º periodo uniao
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniao
 
Aula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoAula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniao
 
Marketing digital - Aula Google Analytics
Marketing digital - Aula Google AnalyticsMarketing digital - Aula Google Analytics
Marketing digital - Aula Google Analytics
 
Md aula 10
Md   aula 10Md   aula 10
Md aula 10
 
Aula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniaoAula diagrama de interação - 3º periodo uniao
Aula diagrama de interação - 3º periodo uniao
 
Aula de Revisão - Marketing Digital - 1º bimestre
Aula de Revisão - Marketing Digital -  1º bimestreAula de Revisão - Marketing Digital -  1º bimestre
Aula de Revisão - Marketing Digital - 1º bimestre
 
Aula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoAula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniao
 

Último

Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 

Último (20)

Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 

Classes Abstratas e Relacionamentos

  • 1. ANÁLISE PROJETO E PROGRAMAÇÃO PARA WEB CLASSES ABSTRATAS Profª. Maria Alice Jovinski
  • 2. ABSTRAÇÃO “Consiste em enfocar nos aspectos essenciais de uma entidade e ignorar suas propriedades internas. Significa enfocar no que um objeto é e faz, antes de decidir como ele dever ser implementado” [Rumbaugh]
  • 3. ABSTRAÇÃO A abstração se preocupa com a visão superficial de um objeto, por isso serve para separar o comportamento de um objeto de sua implementação.
  • 4. ABSTRAÇÃO  É independente de uma linguagem, mas linguagens OO dão mais poder.  Ex.: Os atributos de um Carro dependem de seu ponto de vista.  Ponto de vista de um vendedor:  Modelo, Preço, Cor.  Ponto de vista de um mecânico;  Tipo de motor, tipo de transmissão.
  • 5. ABSTRAÇÃO EM JAVA  Através da definição de classes abstratas.  São classes definidas exclusivamente para servirem de classe base.  Não podem gerar objetos.  Para se definir uma classe abstrata usa-se a palavra reservada – abstract.
  • 6. CLASSES ABSTRATAS  São classes que se comportam como um esqueleto (não podem ser instanciadas)‫‏‬  As classes filhas de uma classe abstrata apenas herdam o que está definido  Define a estrutura sem fornecer a implementação completa de cada método.
  • 7. CLASSES ABSTRATAS  Uma classe abstrata pode conter métodos abstratos ou não.  Operações que têm seu protocolo definido na classe abstrata e são implementadas nas classes derivadas. Desejando-se utilizar os métodos abstratos, estes devem ser implementados nas classes derivadas.  Sempre que for definido um método abstrato a classe deve ser abstrata.
  • 9. EXEMPLO CLASSE ABSTRATA FORMAGRAFICA abstract class FormaGrafica { protected float x,y; .... public void move(float dx,float dy) { this.x+=dx; this.y+=dy; } .... abstract public void mostra(); //método abstrato }
  • 10. EXEMPLO CLASSE PONTO class Ponto extends FormaGrafica { public Ponto(float ax,float ay) { this.x=ax; this.y=ay; } public void mostra() { System.out.println("("+this.x+","+this.y+")"); } }
  • 11. MAIS UM EXEMPLO: CÍRCULO class Circulo extends FormaGrafica { protected float raio; public Circulo(float ax,float ay, float raio) { this.x=ax; this.y=ay; this.raio=raio; } public void mostra() { System.out.println("("+this.x+","+this.y+")"); System.out.println(“Raio‫‏+“‏:‏‬this.raio); } }
  • 12. EXEMPLO CLASSE RETANGULO class Retangulo extends FormaGrafica { protected float dx,dy; //canto superior x,y public Retangulo(float ax,float ay,float dx,float dy) { this.x=ax; this.y=ay; this.dx=dx; this.dy=dy; } public void move(float x, float y, float dx, float dy) { super.move(x,y); this.dx+=dx; this.dy+=dy; } public void mostra() { System.out.println("("+this.x+","+this.y+")("+dx+","+dy+")"); } }
  • 13. TESTANDO AS FORMAS GRÁFICAS public class Main { public static void main(String[] args) { Ponto pt = new Ponto(15,1); Circulo circ = new Circulo(1,10,50); Retangulo ret = new Retangulo(1,1,15,20); System.out.println("Ponto"); pt.mostra(); System.out.println("Circulo"); circ.mostra(); System.out.println("Retangulo"); ret.mostra(); } }
  • 14. CLASSES DE ANÁLISE  Representam um modelo conceitual primário para elementos que têm responsabilidades e comportamento no sistema.  São mantidas em um alto nível, numa visão puramente conceitual.
  • 15. CLASSES E OBJETOS  Objeto é simplesmente alguma coisa que faz sentido no contexto da aplicação.  Não deve ter nomes vagos  Ex.: Dados, Informação.
  • 16. CLASSES E OBJETOS  A Classe descreve um grupo de objetos com propriedades similares (atributos), comportamento comum (operações), relacionamento com outros objetos e semântica comum  Ex.: Pessoa, empresa, janela  Agrupando Objetos em Classes nós estamos abstraindo o problema.
  • 17. DIAGRAMA DE ESTRUTURA ESTÁTICA  Diagrama de Classes  É um esquema, padrão, ou molde, para descrever, várias possíveis instâncias de dados.  Descreve as Classes
  • 18. CLASSES E OBJETOS  Diagrama de Classes Pessoa  Diagrama de Objetos/Instâncias João:Pessoa Maria:Pessoa Ana
  • 19. ATRIBUTOS  Um atributo é uma propriedade de um objeto  Ex.: Nome, idade (atributos de pessoa)  Cada atributo tem um valor para cada instância  A idade de João é 26  Devem ser valores de dados puros, e não objetos  Um atributo pode ter um valor default
  • 20. ATRIBUTOS  Visibilidade:  + {público}: o elemento pode ser utilizado pelo objeto no qual ele pertence e por qualquer objeto cliente.  # {protegido}: o elemento pode ser utilizado somente pelo próprio objeto no qual ele pertence, ou se existirem, pelas suas subclasses.  - {privado}: o elemento pode ser utilizado somente pelo objeto ao qual ele pertence.  ~{package}: visível a classes do mesmo package.
  • 21. ATRIBUTOS  Diagrama de Classes/Objetos Pessoa Represente a Nome: String visibilidade desses Idade: Inteiro atributos. :Pessoa :Pessoa Nome=João Maria Idade= 28 25
  • 22. OPERAÇÕES E MÉTODOS  Uma operação é uma função, ou transformação, que pode ser aplicada para ou por objetos em uma classe  Contratar, PagarSalários são operações da Classe Empresa  Um método é uma implementação específica de uma Operação
  • 23. OPERAÇÕES E MÉTODOS  Operações podem ser polimórficas  Imprimir arquivos binários, textos, figuras.  Operações podem receber parâmetros  Mover um polígono 10 pixels  Todas as instâncias de uma classe compartilham as mesmas operações.
  • 24. OPERAÇÕES E MÉTODOS  Diagrama de Classes Supondo que o Pessoa obterIdade() seja usado somente por um objeto -Nome: String desta classe, qual deve -Idade: Inteiro ser o símbolo de visibilidade para este método? mudarNome() obterIdade()
  • 25. RELACIONAMENTOS  Associação  Agregação  Composição  Generalização  Especialização
  • 26. ASSOCIAÇÕES  É uma relação que descreve um conjunto de vínculos entre elementos de modelo  Podem ser reflexivas, binárias, ternárias, etc.
  • 27. ASSOCIAÇÕES  Diagrama de Classes País Cidade Tem-capital Nome Nome  Diagrama de Objetos :País :Cidade Tem-capital Brasil Brasília
  • 28. ASSOCIAÇÕES BINÁRIAS  Quando há duas classes envolvidas na associação de forma direta de uma para a outra (mutualismo) Empregado Empresa Trabalha-para
  • 29. MULTIPLICIDADE DE ASSOCIAÇÃO  Especifica quantas instâncias de uma classe pode se relacionar com cada instância de outra classe.  Limita o número na relação entre os objetos.  Geralmente‫‏‬é‫“‏‬um”‫‏‬ou‫“‏‬muitos”,‫‏‬mas‫‏‬pode‫‏‬ ser um conjunto finito. Carro Roda se-move-sobre 4
  • 30. MULTIPLICIDADE DE ASSOCIAÇÃO  Mais exemplos.... Empregado Empresa Trabalha-para 0..* Workstation 0..1 Janela console
  • 31. MULTIPLICIDADE - UML Exatamente 1 0..* Muitos (zero ou mais) 0..1 Opcional (zero ou um) 1..* Um ou mais 4 Numericamente Especificado (exatamente 4) 2,4..7 Numericamente Especificado (2,4,5,6 ou 7)
  • 32. PAPÉIS DA ASSOCIAÇÃO  É o nome que identifica um lado da Associação.  Também chamado de Papel Executado (ou Nomes de Papel, Role Names); Pessoa Empregado Empregador Empresa Trabalha-para (associação)
  • 33. ASSOCIAÇÃO  Diagrama de Classes Empregado Trabalha-para Empresa Nome Nome Cargo 1..*  Diagrama de Instâncias (Objetos) :Empregado Trabalha-para :Empresa Lucas IBM Analista 1..*
  • 34. AGREGAÇÃO  É‫‏‬a‫‏‬relação‫“‏‬parte-todo”‫‏‬ou‫“‏‬uma-parte-de”.  É uma forma especial de associação.  É‫‏‬uma‫‏‬relação‫‏‬do‫‏‬tipo‫“‏‬todo/parte”‫‏‬ou‫“‏‬possui‫‏‬um”‫‏‬ na qual uma classe representa uma coisa grande que é composta de coisas menores.
  • 35. AGREGAÇÃO  Ex: Diagrama de Classes Microcomputador Tipo Placa-Mãe Processador RAM Marca Velocidade Capacidade
  • 36. AGREGAÇÃO  Ex: Diagrama de Instâncias (Objetos) :Micro P-IV :Placa-Mãe :CPU :RAM ASUS 1.4 Ghz 128 MB
  • 37. AGREGAÇÃO Instituto Departamento
  • 38. GENERALIZAÇÃO  Generalização é o relacionamento que organiza Classes baseado em suas similaridades e diferenças.  É a capacidade de se criar supertipos que encapsulam a estrutura e o comportamento comum a vários subtipos. Os procedimentos para se obter generalização são:  Identificar similaridades de estrutura/comportamento entre várias classes.  Criar o supertipo para encapsular a estrutura e o comportamento comum a mais de uma classe.  Os objetos originais passam a ser subtipos do novo supertipo criado.
  • 39. ESPECIALIZAÇÃO É a capacidade de se criar subtipos que representam refinamentos nos quais a estrutura e/ou comportamento do supertipo são adicionados ou modificados.  Os procedimentos são:  Perceber que algumas classes apresentam estrutura e/ou comportamento especializado.  Criar subtipos de acordo com a especialização.
  • 40. GENERALIZAÇÃO/ESPECIALIZAÇÃO  Ex.: Pessoa matrícula nome idade mudarNome() obterIdade() Funcionário Professor promover() contratar()
  • 41. ATENÇÃO  Pode confundir em virtude da notação G A  Generalização = é-um  Agregação = tem-um, é-parte-de