análise orientada a objetos - objetos e classes

51
Análise Orientada a Análise Orientada a Objetos Objetos Objetos e Classes Objetos e Classes

Upload: cursosenac

Post on 27-May-2015

47.062 views

Category:

Technology


3 download

DESCRIPTION

Apresentação sobre Análise Orientada a Objetos - Objetos e Classes

TRANSCRIPT

Page 1: Análise Orientada a Objetos  -   Objetos E Classes

Análise Orientada a Análise Orientada a Objetos Objetos

Objetos e ClassesObjetos e Classes

Page 2: Análise Orientada a Objetos  -   Objetos E Classes

2

Análise Orientada a ObjetosAnálise Orientada a Objetos “Uma nova maneira de pensar os problemas

utilizando conceitos do Mundo Real. O componente fundamental é o OBJETO que combina estrutura e comportamento em uma única entidade”

[Raumbaugh]

“Um sistema orientado a objetos é uma coleção de objetos que interagem entre si”

[Bertrand Meyer] 

Page 3: Análise Orientada a Objetos  -   Objetos E Classes

3

As Bases da Orientação a As Bases da Orientação a ObjetosObjetos

Correspondência com o mundo realCorrespondência com o mundo realModularidade dos componentesModularidade dos componentesObjetos com finalidade própriaObjetos com finalidade própria Permite a combinação destes ObjetosPermite a combinação destes Objetos Baixa dependência externaBaixa dependência externa Alta coesão internaAlta coesão interna Fácil ampliação do objetoFácil ampliação do objeto Permite reuso dos objetosPermite reuso dos objetos EncapsulamentoEncapsulamento

Page 4: Análise Orientada a Objetos  -   Objetos E Classes

4

Objeto é:Objeto é:

““É um elemento do mundo real”É um elemento do mundo real”

[José Davi [José Davi

Furlan]Furlan]

Possui um comportamento e atributos. O Possui um comportamento e atributos. O

comportamentocomportamento é a forma com que reage a é a forma com que reage a

estímulos e os estímulos e os atributosatributos são suas são suas

características, que podem mudar de características, que podem mudar de

acordo com seu comportamento.acordo com seu comportamento.

Conceitos Básicos - Conceitos Básicos - ObjetoObjeto

Page 5: Análise Orientada a Objetos  -   Objetos E Classes

5

Exemplos:

Concretos: pessoa, lápis, carro, etc. Intangíveis: hora, projeto, organização, etc. Personagem: médico, professor, etc. Relacional: casamento, parceiro,

propriedade. Evento: venda, defeito do sistema. Interface Gráfica: janela, ícone, botão.

Conceitos Básicos - Conceitos Básicos - ObjetoObjeto

Page 6: Análise Orientada a Objetos  -   Objetos E Classes

6

Um Documento

Uma pessoa

Um meio de Transporte

Uma Região

Conceitos Básicos - Conceitos Básicos - ObjetoObjeto

Exemplos: Exemplos:

Page 7: Análise Orientada a Objetos  -   Objetos E Classes

7

IdentidadeIdentidade::É o nome do objeto. Cada objeto é É o nome do objeto. Cada objeto é único.único.

Exemplo: Exemplo: Aluno João, José, Maria...Aluno João, José, Maria...

Componentes de um Componentes de um ObjetoObjeto

Page 8: Análise Orientada a Objetos  -   Objetos E Classes

8

Atributos (Características):Atributos (Características):É um conjunto de propriedades de um É um conjunto de propriedades de um Objeto que podem mudar com o tempo.Objeto que podem mudar com o tempo.

Exemplos: Exemplos: Idade de uma PessoaIdade de uma PessoaSaldo de um ClienteSaldo de um ClienteQuantidade de Alunos de uma TurmaQuantidade de Alunos de uma Turma

Se uma Pessoa está Falando (s/n)Se uma Pessoa está Falando (s/n)

Componentes de um Componentes de um ObjetoObjeto

Page 9: Análise Orientada a Objetos  -   Objetos E Classes

9

Comportamento (Operações ou Comportamento (Operações ou Métodos):Métodos):Lógica contida em um objeto para designar-Lógica contida em um objeto para designar-lhe um comportamento. É como o objeto lhe um comportamento. É como o objeto responde a outro objeto. Também chamado responde a outro objeto. Também chamado de Método, Comportamento, Procedimento, de Método, Comportamento, Procedimento, Função, etc.Função, etc.Exemplo:Exemplo: adicionarAlunoadicionarAluno

calcularSaldoDevedorcalcularSaldoDevedor

Componentes de um Componentes de um ObjetoObjeto

Page 10: Análise Orientada a Objetos  -   Objetos E Classes

10

Ordem de Produção

Mensagem de Solicitação

Matéria-Prima Processo Produtivo

OperaçõesAtributos

Produto Final

Mensagem de Resposta

Conceitos Básicos - ObjetoConceitos Básicos - Objeto Exemplos: Exemplos:

Page 11: Análise Orientada a Objetos  -   Objetos E Classes

11

É uma coleção de objetosÉ uma coleção de objetos

É a descrição formal de um conjunto de É a descrição formal de um conjunto de objetosobjetos

Objetos que obedecem à mesma Objetos que obedecem à mesma especificaçãoespecificação

Conceitos Básicos - ClasseConceitos Básicos - Classe

Page 12: Análise Orientada a Objetos  -   Objetos E Classes

12

Exemplos: Classe – Veículo

Objeto da Classe – Mercedes do Bruno

Classe – PessoaObjeto da Classe – João

  Obs.: Um objeto também é chamado de

instância da classe.

Conceitos Básicos - Conceitos Básicos - ClasseClasse

Page 13: Análise Orientada a Objetos  -   Objetos E Classes

13

DefiniçãoDefinição

É um conjunto de Objetos que possuem estados É um conjunto de Objetos que possuem estados semelhantes (mesma lista de atributos), semelhantes (mesma lista de atributos), comportamento comum (mesmas operações) e comportamento comum (mesmas operações) e relacionamentos comuns com outros objetos.relacionamentos comuns com outros objetos.

““A estrutura de um software é formada pelas classes A estrutura de um software é formada pelas classes do sistema. Analogamente ao esqueleto dos animais, do sistema. Analogamente ao esqueleto dos animais, as classes formam uma armação que dá a sustentação as classes formam uma armação que dá a sustentação e a forma ao sistema”e a forma ao sistema”  

José Eduardo DeboniJosé Eduardo Deboni

ClasseClasse

Page 14: Análise Orientada a Objetos  -   Objetos E Classes

14

ComputadorAntônio Carlos

Carro

CachorroAve

TV

Quantas classes podemos definir?

ExercícioExercício

Page 15: Análise Orientada a Objetos  -   Objetos E Classes

15

Atributos e Operações de um Objeto Atributos e Operações de um Objeto devem estar armazenados no próprio devem estar armazenados no próprio Objeto. Dizemos que eles estão Objeto. Dizemos que eles estão encapsulados no Objeto. encapsulados no Objeto.

A função do encapsulamento é proteger A função do encapsulamento é proteger os dados do acesso descontrolado. O os dados do acesso descontrolado. O acesso é realizado por intermédio de acesso é realizado por intermédio de mensagens (execução das operações) mensagens (execução das operações) trocadas entre os objetos. trocadas entre os objetos.

As operações funcionam como serviços As operações funcionam como serviços que o objeto fornece ao mundo exterior. que o objeto fornece ao mundo exterior. ExemploExemplo::

Dados

OperaçãoOperaçãoOperação

Objeto

Lampada

tensaopreco

acender()comprar()

Atributo – data do nascimento, Operação – cálculo da Atributo – data do nascimento, Operação – cálculo da idade (data do nascimento) .idade (data do nascimento) .

EncapsulamentoEncapsulamento

Page 16: Análise Orientada a Objetos  -   Objetos E Classes

16

TELEVISÃO DVD

Cada aparelho com suas funções

A integração entre eles ocorre pela ligação da saída de um objeto à entrada do outro.

Com isto o DVD pode usar a TELEVISÃO para reproduzir imagens.

Exemplo:Exemplo:

EncapsulamentoEncapsulamento

Page 17: Análise Orientada a Objetos  -   Objetos E Classes

17

Definição:Definição: Situação de um objeto em Situação de um objeto em um dado instante do tempo. um dado instante do tempo.

Exemplo(s):Exemplo(s):1)1) Objeto: Objeto: Nota FiscalNota Fiscal Estado: Estado: Emitindo Nota Emitindo Nota

FiscalFiscal2)2) Objeto: Objeto: PizzaPizza Estado: Estado: Entregando Entregando

Pizza Pizza

EstadoEstado

Page 18: Análise Orientada a Objetos  -   Objetos E Classes

18

Definição:Definição: Uma solicitação entre Uma solicitação entre objetos para invocar certa operação.objetos para invocar certa operação.

Ex: Informar idade da pessoa “Fulano de Ex: Informar idade da pessoa “Fulano de tal”. tal”.

EncapsulamentoEncapsulamento

Page 19: Análise Orientada a Objetos  -   Objetos E Classes

19

A comunicação entre os A comunicação entre os objetos ocorre pela troca de objetos ocorre pela troca de mensagensmensagens

Um objeto solicita Um objeto solicita informações de outro objeto informações de outro objeto para realizar suas funçõespara realizar suas funções Uma mensagem é a execução Uma mensagem é a execução

de uma operaçãode uma operação Uma mensagem pode ou não Uma mensagem pode ou não

enviar parâmetros para outro enviar parâmetros para outro objeto, bem como receber ou objeto, bem como receber ou não uma resposta do mesmo.não uma resposta do mesmo.

Dados

OperaçãoOperaçãoOperação

Objeto 1

Dados

OperaçãoOperaçãoOperação

Objeto 2

Dados

OperaçãoOperaçãoOperação

Objeto 3

Mensagem

Mensagens

Page 20: Análise Orientada a Objetos  -   Objetos E Classes

20

É a capacidade de um novo objeto É a capacidade de um novo objeto (filho) tomar (herdar) características (filho) tomar (herdar) características e comportamentos de um objeto(pai) e comportamentos de um objeto(pai) já existente. já existente.

Herança

Page 21: Análise Orientada a Objetos  -   Objetos E Classes

21

É uma característica que as classes de objetos É uma característica que as classes de objetos podem possuir de modo que uma classe pode ser podem possuir de modo que uma classe pode ser gerada a partir de outra classe herdando dela suas gerada a partir de outra classe herdando dela suas propriedades (atributos, operações)propriedades (atributos, operações)

A herança permite que as propriedades da classe A herança permite que as propriedades da classe mãe possam ser expandidas para a classe filha mãe possam ser expandidas para a classe filha incluindo novas característicasincluindo novas características

O uso de herança permite criar classes mais O uso de herança permite criar classes mais genéricasgenéricas

A herança aumenta a capacidade de reutilização das A herança aumenta a capacidade de reutilização das classesclasses

HerançaHerança

Page 22: Análise Orientada a Objetos  -   Objetos E Classes

22

Exemplo 1:

Classe pai – Automóvel Classe filha – Porshe Porshe herda características e

comportamentos da classe automóvel.  Atributos do Automóvel:

Potência, capacidade de passageiros.Atributos do Porshe:

Turbo.

HerançaHerança

Page 23: Análise Orientada a Objetos  -   Objetos E Classes

23

Exemplo 2:

Classe pai – Pessoa Classe filha – Cliente do Banco 

Cliente herda características e comportamentos da classe Pessoa.

HerançaHerança

Page 24: Análise Orientada a Objetos  -   Objetos E Classes

24

Definição:Definição: Classe que herda as Classe que herda as características da Classe pai. É o mesmo características da Classe pai. É o mesmo que Classe filha. que Classe filha.

Ex: Ex: Classe: ÁrvoreClasse: ÁrvoreSubclasses: Ipê, Eucalipto, Subclasses: Ipê, Eucalipto,

etc. etc.

SubclasseSubclasse

Page 25: Análise Orientada a Objetos  -   Objetos E Classes

25

Rádio Relógio

Eletrodomésticos HidráulicosEletromecânicos

Domésticos Elétricos Mecânicos

TorneiraMotor Elétrico

TV DVD

Equipamentos

HerançaHerançaExemplo:Exemplo:

Page 26: Análise Orientada a Objetos  -   Objetos E Classes

26

ClassesClasses

Nomes no SingularNomes no Singular Sem hífen, tracinhos ou espaçosSem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc)Sem Preposições (de, para, do, com, etc) Não usar palavras desgastadas (Tabela, Cadastro, Não usar palavras desgastadas (Tabela, Cadastro,

etc)etc) Para vários nomes usar 1ª letra Maiúscula e demais Para vários nomes usar 1ª letra Maiúscula e demais

minúsculasminúsculas

Exemplos: Cliente, ProdutoEstoque, Exemplos: Cliente, ProdutoEstoque, PessoaJuridicaPessoaJuridica

Padrões para Nomes de Padrões para Nomes de ClassesClasses

Page 27: Análise Orientada a Objetos  -   Objetos E Classes

27

 

NomeClasse

atributos

operações()

NomeClasse

atributosNomeClasse

operações()

NomeClasse

Símbolos para uma classeSímbolos para uma classe

Page 28: Análise Orientada a Objetos  -   Objetos E Classes

28

 

AtributosAtributos

Sem hífen, tracinhos ou espaçosSem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc)Sem Preposições (de, para, do, com, etc) 1ª letra minúscula (para o caso de vários nomes, a 1ª 1ª letra minúscula (para o caso de vários nomes, a 1ª

letra dos demais nomes devem ser maiúsculas).letra dos demais nomes devem ser maiúsculas).

Exemplos:Exemplos: idadeidadenomeClientenomeClientesldDevedorsldDevedor

qtdAlunosMatriculadosqtdAlunosMatriculados

Padrões para Nomes de Padrões para Nomes de AtributosAtributos

Page 29: Análise Orientada a Objetos  -   Objetos E Classes

29

 

Operadores (Métodos)Operadores (Métodos)

Sem hífen, tracinhos ou espaçosSem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc)Sem Preposições (de, para, do, com, etc) Verbos no infinitivo (...ar, ...er, ...ir, etc)Verbos no infinitivo (...ar, ...er, ...ir, etc) Sempre colocar Verbo + SujeitoSempre colocar Verbo + Sujeito 1ª letra minúscula (para o caso de vários nomes, a 1ª 1ª letra minúscula (para o caso de vários nomes, a 1ª

letra dos demais nomes devem ser maiúsculas).letra dos demais nomes devem ser maiúsculas).

Exemplos:Exemplos:calcularSaldoDevedorcalcularSaldoDevedor

imprimirBoletoimprimirBoleto

Cliente

nomedataNascimento

imprimirCliente()calcularIdade()

Padrões para Nomes de Padrões para Nomes de OperadoresOperadores

Page 30: Análise Orientada a Objetos  -   Objetos E Classes

30

Identifique as Classes e coloque atributos para os seguintes problemas:

1) Sistema de controle de uma biblioteca

• É um sistema de suporte para uma bibliotecaÉ um sistema de suporte para uma biblioteca• A biblioteca empresta livros e revistas para clientes, que A biblioteca empresta livros e revistas para clientes, que

são registrados no sistema, no qual também estão são registrados no sistema, no qual também estão registrados os livros e as revistasregistrados os livros e as revistas

• A biblioteca controla a compra de novos títulos. De títulos A biblioteca controla a compra de novos títulos. De títulos populares compra-se várias cópias. Livros antigos e populares compra-se várias cópias. Livros antigos e revistas são removidos quando estão ultrapassados ou revistas são removidos quando estão ultrapassados ou deterioradosdeteriorados

• Bibliotecário é um funcionário da biblioteca que interage Bibliotecário é um funcionário da biblioteca que interage com os clientes e seu trabalhocom os clientes e seu trabalho é auxiliado pelo sistemaé auxiliado pelo sistema

ExercíciosExercícios

Page 31: Análise Orientada a Objetos  -   Objetos E Classes

31

(continuação)•Um cliente pode reservar um livro ou revista que não está Um cliente pode reservar um livro ou revista que não está disponível no momento na biblioteca, de forma que disponível no momento na biblioteca, de forma que quando ele for devolvido ou comprado pela biblioteca, o quando ele for devolvido ou comprado pela biblioteca, o cliente é avisado. A reserva é cancelada quando o cliente cliente é avisado. A reserva é cancelada quando o cliente retira o livro ou revista, ou através de um processo retira o livro ou revista, ou através de um processo exclusivo de cancelamentoexclusivo de cancelamento•A biblioteca pode facilmente criar, atualizar, e apagar A biblioteca pode facilmente criar, atualizar, e apagar informações sobre seus títulos, clientes, empréstimos, e informações sobre seus títulos, clientes, empréstimos, e reservas no sistemareservas no sistema•O sistema pode rodar em todos os ambientes populares O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface gráfica (UNIX, Linux, windows, etc) e tem uma interface gráfica (GUI) moderna(GUI) moderna•O sistema deve ser facilmente estendido com novas O sistema deve ser facilmente estendido com novas funcionalidadesfuncionalidades•O sistema deve lidar com a mensagem que é enviada ao O sistema deve lidar com a mensagem que é enviada ao cliente quando um título reservado torna-se disponível, e cliente quando um título reservado torna-se disponível, e precisa checar se um determinado título está ultrapassado precisa checar se um determinado título está ultrapassado ou deteriorado.ou deteriorado.

ExercíciosExercícios

Page 32: Análise Orientada a Objetos  -   Objetos E Classes

32

2) Sistema de controle de uma máquina que vende Coca-Cola

•O sistema deve estar preparado para receber e conferir o O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco.dinheiro colocado pelo Cliente, inclusive para dar o troco.•Deve controlar a recarga de refrigerantes pelo Técnico, Deve controlar a recarga de refrigerantes pelo Técnico, bem como o recolhimento do dinheiro da máquina.bem como o recolhimento do dinheiro da máquina.

ExercíciosExercícios

Page 33: Análise Orientada a Objetos  -   Objetos E Classes

33

3) Sistema Bancário

Um cliente poderá abrir uma conta, depositar, fazer Um cliente poderá abrir uma conta, depositar, fazer saques (manual e automático), consultar saldo, alterar saques (manual e automático), consultar saldo, alterar sua senha e aplicar em fundos (em terminais ou Internet).sua senha e aplicar em fundos (em terminais ou Internet).

O gerente fará a abertura da conta e a consulta ao saldo O gerente fará a abertura da conta e a consulta ao saldo do cliente.do cliente.

O caixa fará o saque manual, a alteração da senha e a O caixa fará o saque manual, a alteração da senha e a consulta ao saldo.consulta ao saldo.

    

ExercíciosExercícios

Page 34: Análise Orientada a Objetos  -   Objetos E Classes

34

O Diagrama de classes mostra as O Diagrama de classes mostra as classes de um sistema e seus classes de um sistema e seus relacionamentos.relacionamentos.

Representação GráficaRepresentação Gráfica

O símbolo gráfico utilizado para O símbolo gráfico utilizado para representar uma classe é uma caixa, representar uma classe é uma caixa, possivelmente dividida em compartimentos.possivelmente dividida em compartimentos.

Classe

atributo1atributo2

operacao1()operacao2()

DiagramaDiagrama de Classes de Classes

Page 35: Análise Orientada a Objetos  -   Objetos E Classes

35

  Esses compartimentos são utilizados em Esses compartimentos são utilizados em diferentes situações, dependendo se a classe diferentes situações, dependendo se a classe pertence a um modelo de análise, design ou pertence a um modelo de análise, design ou implementação. implementação.

O primeiro compartimento é chamado de O primeiro compartimento é chamado de compartimento do nome, contendo o nome da compartimento do nome, contendo o nome da classe.classe.

Os compartimentos seguintes são chamados Os compartimentos seguintes são chamados de compartimentos de listas, podendo de compartimentos de listas, podendo acomodar listas de atributos ou operações.acomodar listas de atributos ou operações.

Diagrama de Diagrama de ClassesClasses

Page 36: Análise Orientada a Objetos  -   Objetos E Classes

36

Compartimento de AtributosCompartimento de Atributos

Utilizado para mostrar os atributos de uma Utilizado para mostrar os atributos de uma classe.classe.

A sintaxe padrão para a descrição dos A sintaxe padrão para a descrição dos atributos nesse compartimento é:atributos nesse compartimento é:  

nomeAtributo: tipoAtributonomeAtributo: tipoAtributo

Diagrama de ClassesDiagrama de Classes

Page 37: Análise Orientada a Objetos  -   Objetos E Classes

37

Compartimento de Operadores (Métodos)Compartimento de Operadores (Métodos)Mostra as operações definidas para uma classe Mostra as operações definidas para uma classe

e/ou os métodos supridos por uma classe. e/ou os métodos supridos por uma classe.

Sua sintaxe padrão é:Sua sintaxe padrão é:

nnomeOperacao (lista de parâmetros): omeOperacao (lista de parâmetros): tipoParametroRetornotipoParametroRetorno   Cada elemento da lista de parâmetros tem a seguinte Cada elemento da lista de parâmetros tem a seguinte sintaxe:sintaxe:

TipoParametro nomeParametroTipoParametro nomeParametro

Diagrama de ClassesDiagrama de Classes

Page 38: Análise Orientada a Objetos  -   Objetos E Classes

38

Compartimento de Operadores (Métodos)Compartimento de Operadores (Métodos)

Exemplo:Exemplo:Classe

atributo1 : Doubleatributo2 : String

operacao1(parametro1 : String, parametro2 : Integer) : Stringoperacao2(parametro1 : Date) : Integer

Diagrama de Diagrama de ClassesClasses

Page 39: Análise Orientada a Objetos  -   Objetos E Classes

39

Relacionamento entre ClassesRelacionamento entre Classes

Classes e objetos podem estar conectados por Classes e objetos podem estar conectados por algum tipo de relacionamento. Podem ser:algum tipo de relacionamento. Podem ser:

Associações Associações AgregaçõesAgregações ComposiçõesComposições Generalizações (Herança)Generalizações (Herança)

Diagrama de Classes -Diagrama de Classes - RelacionamentosRelacionamentos

Page 40: Análise Orientada a Objetos  -   Objetos E Classes

40

Associações Associações

Associações simples representam que existe alguma Associações simples representam que existe alguma conexão entre dois elementos de uma classe, de tal conexão entre dois elementos de uma classe, de tal forma que um deve manter alguma referência ao outro. forma que um deve manter alguma referência ao outro.

Associações simples são representadas na forma de Associações simples são representadas na forma de uma linha cheia conectando as duas classes.uma linha cheia conectando as duas classes.

As extremidades da associação podem possuir uma As extremidades da associação podem possuir uma multiplicidademultiplicidade.0.0

Diagrama de Classes -Diagrama de Classes - RelacionamentosRelacionamentos

Page 41: Análise Orientada a Objetos  -   Objetos E Classes

41

Associações Associações

Exemplo(s):Exemplo(s):

Paciente

1..*1..*

PlanoSaude

0..*0..*

ClienteSeguro

Diagrama de Classes -Diagrama de Classes - RelacionamentosRelacionamentos

Page 42: Análise Orientada a Objetos  -   Objetos E Classes

42

AgregaçãoAgregação

Agregações são um tipo especial de associação onde o Agregações são um tipo especial de associação onde o elemento associado corresponde a uma parte do elemento elemento associado corresponde a uma parte do elemento principal. principal.

Exemplo(s):Exemplo(s):Pedido ItemPedido

DepartamentoEmpresa

Diagrama de Classes -Diagrama de Classes - RelacionamentosRelacionamentos

Page 43: Análise Orientada a Objetos  -   Objetos E Classes

43

ComposiçãoComposição  

Composições são um tipo especial de agregação onde a parte Composições são um tipo especial de agregação onde a parte indicada deve necessariamente existir.indicada deve necessariamente existir.

A diferença básica entre uma agregação e uma composição é A diferença básica entre uma agregação e uma composição é que na agregação, o número de partes associadas à classe que na agregação, o número de partes associadas à classe principal é variável e pouco importa. principal é variável e pouco importa. No caso de uma composição, o número de objetos associados No caso de uma composição, o número de objetos associados é definido, de tal forma que não faz sentido pensarmos o é definido, de tal forma que não faz sentido pensarmos o objeto da classe principal sem os objetos que o compõem. O objeto da classe principal sem os objetos que o compõem. O todo existe enquanto as partes também existem.todo existe enquanto as partes também existem.

Quando o objeto da classe principal for destruído, os objetos Quando o objeto da classe principal for destruído, os objetos que o compõem necessariamente também o serão. que o compõem necessariamente também o serão.

Diagrama de Classes -Diagrama de Classes - RelacionamentosRelacionamentos

Page 44: Análise Orientada a Objetos  -   Objetos E Classes

44

Composição Composição

Exemplo(s):Exemplo(s):  

ParedeQuartoChão

Janela

Diagrama de Classes -Diagrama de Classes - RelacionamentosRelacionamentos

Page 45: Análise Orientada a Objetos  -   Objetos E Classes

45

Classe de AssociaçãoClasse de Associação

Uma classe de associação é utilizada quando uma Uma classe de associação é utilizada quando uma associação necessita de atributos e/ou operações.associação necessita de atributos e/ou operações.Uma classe de associação está ligada à associação Uma classe de associação está ligada à associação entre duas classes.entre duas classes.

Exemplo(s):Exemplo(s):OrdemCompra Produto

ProdutoOrdem DoençaPaciente

DoençaPaciente

Diagrama de Classes -Diagrama de Classes - RelacionamentosRelacionamentos

Page 46: Análise Orientada a Objetos  -   Objetos E Classes

46

Considere um programa para gerenciar clientes, Considere um programa para gerenciar clientes, empregados e fornecedores de uma empresa.empregados e fornecedores de uma empresa.

Para cada tipo de objetos criamos uma classe Para cada tipo de objetos criamos uma classe com atributos e métodos.com atributos e métodos.

ExemploExemploClasses Pessoa e Empregado:

Pessoanome

sexodevolveSexo()

devolveNome()

imprime()

Empregadonome

sexo

salariodevolveSexo()

devolveNome()

devolveSalario()

atualizaSalario(sal)

imprime()

Diagrama de Classes –Diagrama de Classes – Generalização ou HerançaGeneralização ou Herança

Page 47: Análise Orientada a Objetos  -   Objetos E Classes

47

Comparando as classes, observamos que:Comparando as classes, observamos que:

Ambas possuem os atributos Ambas possuem os atributos nomenome e e sexosexo..Ambas oferecem os mesmos métodos para buscar o Ambas oferecem os mesmos métodos para buscar o nome e o sexo (nome e o sexo (devolveNome()devolveNome(),,devolveSexo()devolveSexo()).).A classe A classe EmpregadoEmpregado “adiciona” um novo atributo para “adiciona” um novo atributo para armazenar o salário, e os métodos específicos de um armazenar o salário, e os métodos específicos de um empregado.empregado.Portanto podemos dizer que um empregado Portanto podemos dizer que um empregado é umaé uma pessoa com algumas “coisas” a mais.pessoa com algumas “coisas” a mais.Seria interessante se não precisássemos repetir na Seria interessante se não precisássemos repetir na classe classe Empregado Empregado o código comum à classe o código comum à classe PessoaPessoa..Isto é possível se definirmos que a classe Isto é possível se definirmos que a classe EmpregadoEmpregado herdaherda as características da classe as características da classe PessoaPessoa..

Diagrama de Classes –Diagrama de Classes – Generalização ou HerançaGeneralização ou Herança

Page 48: Análise Orientada a Objetos  -   Objetos E Classes

48

Representação GráficaRepresentação Gráfica

Empregado

Pessoa

Diagrama de Classes –Diagrama de Classes – Generalização ou HerançaGeneralização ou Herança

Page 49: Análise Orientada a Objetos  -   Objetos E Classes

49

ExercíciosExercícios

1. Organize hierarquicamente em um diagrama as seguintes classes: MembroDaUniversidade, Professor, Coordenador, Empregado,

Ex-aluno, CorpoDiscente, AlunoDeGraduacao, AlunoDePosGraduacao,

Funcionario, CorpoDocente.

2.    Organize hierarquicamente em um diagrama as seguintes classes:

VeiculoTerrestre, VeiculoAquático, VeiculoAutoMotor, Carro, Moto, Barco,

NavioCargueiro, Caminhão, VeiculoAnfibio, Submarino, VeiculoAereo, Aviao, HidroAviao.

Diagrama de Classes –Diagrama de Classes – Generalização ou HerançaGeneralização ou Herança

Page 50: Análise Orientada a Objetos  -   Objetos E Classes

50

Fazer o Diagrama de Classes dos exercícios:

BibliotecaBiblioteca Máquina Coca-ColaMáquina Coca-Cola Sistema BancárioSistema Bancário

Diagrama de Classes –Diagrama de Classes – ExercíciosExercícios

Page 51: Análise Orientada a Objetos  -   Objetos E Classes

51

Exemplo:Exemplo:

Estudo de Caso 1 – Sistema de EmpréstimosEstudo de Caso 1 – Sistema de Empréstimos

Exercícios:Exercícios:

Estudo de Caso 2 – Revenda de CelularesEstudo de Caso 2 – Revenda de Celulares

Diagrama de ClassesDiagrama de Classes