SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Aula de Java 04




     UNIDADE-SERRA
    Prof. Moisés Omêna
Sobrecarga de Construtores
public class Professor
{
  // instance variables - replace the example below with your own
  private int codigo;
  private String nome;
  private String disciplina;
  private String turno;

    public Professor()
    {
    }

     public Professor(int cod, String nom){
     this.codigo = cod;
     this.nome= nom;
    }
}
Classes - UML
Classes
Em termos de POO para poder tratar os
 objetos começamos criando classes , neste
 caso irei criar a classe chamada Cachorro.

"Uma classe representa um conjunto de
  objetos que possuem comportamentos e
  características comuns".
Classes - UML
"Na UML o nome de uma classe é um texto
  contendo letras e dígitos. UML sugere
  capitalizar todas as primeiras letras de
  cada palavra no nome (ex.: ``Lugar'',
  ``DataReserva'').
É melhor também manter nomes de classe
  no singular, classes por default ``contem''
  mais de um objeto, o plural é implícito.".

                         [Nicolas Anquetil]
Propriedades e Métodos
quando definimos uma classe precisamos definir
   duas coisas:

  Propriedades - Informações específicas relacionadas a
     uma classe de objeto. São as características dos
     objetos que as classes representam. Ex Cor , altura ,
     tamanho , largura , etc...
  Métodos: São ações que os objetos de uma classe
     podem realizar. Ex: Latir , correr , sentar , comer, etc.
Classes possibilitam
um modelo para criar quantos objetos você desejar
 de um tipo particular

especificar a estrutura e o comportamento
  (operações) dos objetos, que são instâncias
  destas.

Criar objetos que possuirão todas as características
  e comportamentos definidos pela classe
Aqui temos Órion


Um objeto da classe Cachorro.

Em termos de POO acabamos de criar uma
 instância da classe Cachorro e a chamamos
 Órion.
Quando criamos uma nova instância de uma classe
 dizemos que estamos instanciando a classe.
Classes em UML
A representação de uma classe usa um
  retângulo dividido em três partes:


 Cachorro         Nome

 Cor
 Altura
 Tamanho          Atributos
 Peso

 Latir
 Correr
                  Métodos
 Comer
atributos e operações

Os diagrama se classes ilustram atributos e operações de
  uma classe e as restrições como que os objetos podem
  ser conectados ; descrevem também os tipos de objetos
  no sistema e os relacionamentos entre estes objetos que
  podem ser : associações e abstrações.
Visibilidade
a visibilidade dos atributos e operações em
    uma classe utiliza-se as seguintes marcas
    e significados:

  + público - visível em qualquer classe
  # protegido - qualquer descendente pode usar
  - privado - visível somente dentro da classe
Relacionamento entre classes

Os objetos tem relações entre eles: um
 professor ministra uma disciplina para
 alunos numa sala, um cliente faz uma
 reserva de alguns lugares para uma data,
 etc. Essas relações são representadas
 também no diagrama de classe.
                           [Nicolas Anquetil]
Tipos de relações
Geralmente as classes não estão sós e se relacionam entre
  si. O relacionamento e a comunicação entre as classes
  definem responsabilidades

A UML reconhece três tipos mais importantes de relações:
  dependência, associação e generalização (ou herança).

Associações : Agregação e composição
Generalização (herança)
Dependências
Representações - notação :
          Associação : São relacionamentos
            estruturais entre instâncias e
            especificam que objetos de uma classe
            estão ligados a objetos de outras
            classes.
                 A associação pode existir entre
            classes ou entre objetos. Uma
            associação entre a classe Professor e a
            classe disciplina (um professor ministra
            uma disciplina) significa que uma
            instância de Professor (um professor
            específico) vai ter uma associação com
            uma instância de Disciplina.

          Dependência - São relacionamentos de
            utilização no qual uma mudança na
            especificação de um elemento pode
            alterar a especificação do elemento
            dependente. A dependência entre
            classes indica que os objetos de uma
            classe usam serviços dos objetos de
            outra classe.
Representações - notação :
Generalização (herança : simples ou composta) - Relacionamento entre
  um elemento mais geral e um mais específico. Onde o elemento mais
  específico herda as propriedades e métodos do elemento mais geral.
  A relação de generalização também é conhecida como herança no
  modelo a objetos.

Agregação Regular - tipo de associação ( é parte de , todo/parte) onde
  o objeto parte é um atributo do todo ; onde os objetos partes somente
  são criados se o todo ao qual estão agregados seja criado. Pedidos é
  composto por itens de pedidos.

Composição - Relacionamento entre um elemento ( o todo) e outros
  elementos (as partes) onde as parte só podem pertencer ao todo e
  são criadas e destruídas com ele.
Diagrama de classes
lista todos os conceitos do domínio que serão
   implementados no sistema e as relações entre os
   conceitos.
define a estrutura do sistema a desenvolver.

O diagrama de classes não surge do nada ele é
 consequência do prévio levantamento de
 requisitos, definição de casos de usos e classes.
exemplo
Se você tivesse que desenvolver um sistema para
  automatizar um consultório dentário. As etapas básicas
  envolvidas seriam:

   – Levantamento e análise de requisitos do sistema a ser
     desenvolvido. Entrevista com o dentista(s) e com as pessoas que
     trabalham no consultório

   – Definição dos elementos do sistema : Paciente , agenda ,
     dentista , serviço , contrato , consulta , pagamento , etc..

   – Definição das classes : paciente , dentista , exame , agenda ,
     serviço

   – Definir os atributos e métodos das classes :
Após toda esta análise você chega no diagrama de classes do
 sistema (representado abaixo a título de exemplo ilustrativo)
Herança em Java
A Herança provém de uma classe que herda
  atributos e métodos de outras classes.
  Para facilitar o estudo de caso, darei um
  exemplo de um Microcomputador.
herança em orientação a objetos representa a
 implementação da generalização.
  Herança é o compartilhamento de atributos e operações entre
   classes com base em um relacionamento hierárquico.




                                                    ESPECIALIZAÇÃO
            GENERALIZAÇÃO




                                   VEÍCULOS




    UTILITÁRIOS             PASSAGEIROS   ESPORTE      PASSEIO



Ex: a subclasse Utilitário herda todos os atributos e operações da
  superclasse Veículos.
generalização e herança

1. Generalização é a relação entre uma classe e uma ou
   mais versões refinadas dessa classe.
2. A classe que está sendo refinada é chamada de
   superclasse e cada versão refinada é subclasse.
3. Os atributos e as operações da superclasse podem ser
   exibidos em suas subclasses, conseqüentemente, cada
   subclasse é considerada herdeira dos recursos da
   superclasse.
4. Você pode organizar as classes, usando a herança para
   compartilhar a estrutura comum.
5. Um link de generalização significa que uma classe pode
   herdar uma série de atributos e operações da classe pai.
Herança
1. Mecanismo        que      permite       o
   compartilhamento     de   características
   comuns a partir de uma superclasse
2. Subclasses herdam propriedades da
   Superclasse
3. Em Modelo Conceitual:
      Superclasses são Tipos
      Subclasses são Subtipos
Polimorfismo significa a capacidade de
 assumir muitas formas.
HERANÇA
Generalização - Especialização
Herança Pessoa/Professor/Aluno
Classe Pessoa
public class Pessoa {
  private int codigo;
  private int nome;

    public Pessoa () {
    }

    public int getCodigo () {
      return codigo;
    }
    public void setCodigo (int val) {
      this.codigo = val;
    }
    public int getNome () {
      return nome;
    }
    public void setNome (int val) {
      this.nome = val;
    }
}
Classe aluno
public class Aluno extends Pessoa {

private String Turma;

public Aluno () {
 }
public String getTurma () {
return Turma;
}
public void setTurma (String val) {
 this.Turma = val; }
public int getCodigo () {
return 0;
}
public void setCodigo (int val) {
}
public int getNome () {
return 0; }
public void setNome (int val) { }
}
Classe Professor
public class Professor extends Pessoa {
  private String disciplina;
  private int cargaHoraria;
  public Professor () {
  }
  public int getCargaHoraria () {
     return cargaHoraria;
  }
  public void setCargaHoraria (int val) {
     this.cargaHoraria = val;
  }
  public String getDisciplina () {
     return disciplina;
  }
  public void setDisciplina (String val) {
     this.disciplina = val;
  }
  public int getCodigo () {
     return 0;
  }
Utilizar BlueJ para criar classes abaixo
sendo que pessoa física e pessoa jurídica
herdam de pessoa, crie também os
diferentes construtores das mesmas



Pessoa
Pessoa Física
Pessoa Jurídica
Crie as classes abaixo definidas

Mais conteúdo relacionado

Mais procurados

POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
Ludimila Monjardim Casagrande
 

Mais procurados (20)

Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
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
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Diagrama de sequência
Diagrama de sequênciaDiagrama de sequência
Diagrama de sequência
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UML
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla EscolhaAlgoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
 
Inheritance C#
Inheritance C#Inheritance C#
Inheritance C#
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Psi m14
Psi m14Psi m14
Psi m14
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 

Semelhante a Java - Aula 4 - Sobrecarga de construtores, UML e Herança

Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
Marco Coelho
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
Ryan Padilha
 
Script c
Script cScript c
Script c
Raphael
 

Semelhante a Java - Aula 4 - Sobrecarga de construtores, UML e Herança (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
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Herança.pptx
Herança.pptxHerança.pptx
Herança.pptx
 
Preparatório uml aula2
Preparatório uml   aula2Preparatório uml   aula2
Preparatório uml aula2
 
Classes objetos
Classes objetosClasses objetos
Classes objetos
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
 
v
vv
v
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
03 poo
03 poo03 poo
03 poo
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
Script c
Script cScript c
Script c
 
Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniao
 
Java7
Java7Java7
Java7
 
Relatório da uml
Relatório da umlRelatório da uml
Relatório da uml
 

Último

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
RogrioGonalves41
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 

Último (20)

Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 

Java - Aula 4 - Sobrecarga de construtores, UML e Herança

  • 1. Aula de Java 04 UNIDADE-SERRA Prof. Moisés Omêna
  • 2. Sobrecarga de Construtores public class Professor { // instance variables - replace the example below with your own private int codigo; private String nome; private String disciplina; private String turno; public Professor() { } public Professor(int cod, String nom){ this.codigo = cod; this.nome= nom; } }
  • 4. Classes Em termos de POO para poder tratar os objetos começamos criando classes , neste caso irei criar a classe chamada Cachorro. "Uma classe representa um conjunto de objetos que possuem comportamentos e características comuns".
  • 5. Classes - UML "Na UML o nome de uma classe é um texto contendo letras e dígitos. UML sugere capitalizar todas as primeiras letras de cada palavra no nome (ex.: ``Lugar'', ``DataReserva''). É melhor também manter nomes de classe no singular, classes por default ``contem'' mais de um objeto, o plural é implícito.". [Nicolas Anquetil]
  • 6. Propriedades e Métodos quando definimos uma classe precisamos definir duas coisas: Propriedades - Informações específicas relacionadas a uma classe de objeto. São as características dos objetos que as classes representam. Ex Cor , altura , tamanho , largura , etc... Métodos: São ações que os objetos de uma classe podem realizar. Ex: Latir , correr , sentar , comer, etc.
  • 7. Classes possibilitam um modelo para criar quantos objetos você desejar de um tipo particular especificar a estrutura e o comportamento (operações) dos objetos, que são instâncias destas. Criar objetos que possuirão todas as características e comportamentos definidos pela classe
  • 8. Aqui temos Órion Um objeto da classe Cachorro. Em termos de POO acabamos de criar uma instância da classe Cachorro e a chamamos Órion. Quando criamos uma nova instância de uma classe dizemos que estamos instanciando a classe.
  • 9. Classes em UML A representação de uma classe usa um retângulo dividido em três partes: Cachorro Nome Cor Altura Tamanho Atributos Peso Latir Correr Métodos Comer
  • 10. atributos e operações Os diagrama se classes ilustram atributos e operações de uma classe e as restrições como que os objetos podem ser conectados ; descrevem também os tipos de objetos no sistema e os relacionamentos entre estes objetos que podem ser : associações e abstrações.
  • 11. Visibilidade a visibilidade dos atributos e operações em uma classe utiliza-se as seguintes marcas e significados: + público - visível em qualquer classe # protegido - qualquer descendente pode usar - privado - visível somente dentro da classe
  • 12. Relacionamento entre classes Os objetos tem relações entre eles: um professor ministra uma disciplina para alunos numa sala, um cliente faz uma reserva de alguns lugares para uma data, etc. Essas relações são representadas também no diagrama de classe. [Nicolas Anquetil]
  • 13. Tipos de relações Geralmente as classes não estão sós e se relacionam entre si. O relacionamento e a comunicação entre as classes definem responsabilidades A UML reconhece três tipos mais importantes de relações: dependência, associação e generalização (ou herança). Associações : Agregação e composição Generalização (herança) Dependências
  • 14. Representações - notação : Associação : São relacionamentos estruturais entre instâncias e especificam que objetos de uma classe estão ligados a objetos de outras classes. A associação pode existir entre classes ou entre objetos. Uma associação entre a classe Professor e a classe disciplina (um professor ministra uma disciplina) significa que uma instância de Professor (um professor específico) vai ter uma associação com uma instância de Disciplina. Dependência - São relacionamentos de utilização no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente. A dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe.
  • 15. Representações - notação : Generalização (herança : simples ou composta) - Relacionamento entre um elemento mais geral e um mais específico. Onde o elemento mais específico herda as propriedades e métodos do elemento mais geral. A relação de generalização também é conhecida como herança no modelo a objetos. Agregação Regular - tipo de associação ( é parte de , todo/parte) onde o objeto parte é um atributo do todo ; onde os objetos partes somente são criados se o todo ao qual estão agregados seja criado. Pedidos é composto por itens de pedidos. Composição - Relacionamento entre um elemento ( o todo) e outros elementos (as partes) onde as parte só podem pertencer ao todo e são criadas e destruídas com ele.
  • 16. Diagrama de classes lista todos os conceitos do domínio que serão implementados no sistema e as relações entre os conceitos. define a estrutura do sistema a desenvolver. O diagrama de classes não surge do nada ele é consequência do prévio levantamento de requisitos, definição de casos de usos e classes.
  • 17. exemplo Se você tivesse que desenvolver um sistema para automatizar um consultório dentário. As etapas básicas envolvidas seriam: – Levantamento e análise de requisitos do sistema a ser desenvolvido. Entrevista com o dentista(s) e com as pessoas que trabalham no consultório – Definição dos elementos do sistema : Paciente , agenda , dentista , serviço , contrato , consulta , pagamento , etc.. – Definição das classes : paciente , dentista , exame , agenda , serviço – Definir os atributos e métodos das classes :
  • 18. Após toda esta análise você chega no diagrama de classes do sistema (representado abaixo a título de exemplo ilustrativo)
  • 19. Herança em Java A Herança provém de uma classe que herda atributos e métodos de outras classes. Para facilitar o estudo de caso, darei um exemplo de um Microcomputador.
  • 20. herança em orientação a objetos representa a implementação da generalização. Herança é o compartilhamento de atributos e operações entre classes com base em um relacionamento hierárquico. ESPECIALIZAÇÃO GENERALIZAÇÃO VEÍCULOS UTILITÁRIOS PASSAGEIROS ESPORTE PASSEIO Ex: a subclasse Utilitário herda todos os atributos e operações da superclasse Veículos.
  • 21. generalização e herança 1. Generalização é a relação entre uma classe e uma ou mais versões refinadas dessa classe. 2. A classe que está sendo refinada é chamada de superclasse e cada versão refinada é subclasse. 3. Os atributos e as operações da superclasse podem ser exibidos em suas subclasses, conseqüentemente, cada subclasse é considerada herdeira dos recursos da superclasse. 4. Você pode organizar as classes, usando a herança para compartilhar a estrutura comum. 5. Um link de generalização significa que uma classe pode herdar uma série de atributos e operações da classe pai.
  • 22. Herança 1. Mecanismo que permite o compartilhamento de características comuns a partir de uma superclasse 2. Subclasses herdam propriedades da Superclasse 3. Em Modelo Conceitual: Superclasses são Tipos Subclasses são Subtipos
  • 23. Polimorfismo significa a capacidade de assumir muitas formas.
  • 27. Classe Pessoa public class Pessoa { private int codigo; private int nome; public Pessoa () { } public int getCodigo () { return codigo; } public void setCodigo (int val) { this.codigo = val; } public int getNome () { return nome; } public void setNome (int val) { this.nome = val; } }
  • 28. Classe aluno public class Aluno extends Pessoa { private String Turma; public Aluno () { } public String getTurma () { return Turma; } public void setTurma (String val) { this.Turma = val; } public int getCodigo () { return 0; } public void setCodigo (int val) { } public int getNome () { return 0; } public void setNome (int val) { } }
  • 29. Classe Professor public class Professor extends Pessoa { private String disciplina; private int cargaHoraria; public Professor () { } public int getCargaHoraria () { return cargaHoraria; } public void setCargaHoraria (int val) { this.cargaHoraria = val; } public String getDisciplina () { return disciplina; } public void setDisciplina (String val) { this.disciplina = val; } public int getCodigo () { return 0; }
  • 30. Utilizar BlueJ para criar classes abaixo sendo que pessoa física e pessoa jurídica herdam de pessoa, crie também os diferentes construtores das mesmas Pessoa Pessoa Física Pessoa Jurídica
  • 31. Crie as classes abaixo definidas