Вы находитесь на странице: 1из 51

Análise Orientada a Objetos

Objetos e Classes
Aná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]
2
As Bases da Orientação a Objetos
Correspondência com o mundo real
Modularidade dos componentes
Objetos com finalidade própria
Permite a combinação destes Objetos
Baixa dependência externa
Alta coesão interna
Fácil ampliação do objeto
Permite reuso dos objetos
Encapsulamento

3
Conceitos Básicos - Objeto
Objeto é:
“É um elemento do mundo real”
[José Davi Furlan]
Possui um comportamento e atributos. O
comportamento é a forma com que reage a
estímulos e os atributos são suas características,
que podem mudar de acordo com seu
comportamento.
4
Conceitos Básicos - Objeto
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.

5
Conceitos Básicos - Objeto
Exemplos:
Um meio de Um Documento
Transporte

Uma pessoa Uma Região

6
Componentes de um Objeto

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

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

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

Exemplos: Idade de uma Pessoa


Saldo de um Cliente
Quantidade de Alunos de uma Turma
Se uma Pessoa está Falando (s/n)

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

Exemplo: adicionarAluno
calcularSaldoDevedor

9
Conceitos Básicos - Objeto
Exemplos:

Ordem de
Produção

Matéria-Prima Processo Produtivo Produto Final

Mensagem de Atributos Operações Mensagem de


Solicitação Resposta

10
Conceitos Básicos - Classe
É uma coleção de objetos

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

Objetos que obedecem à mesma especificação

11
Conceitos Básicos - Classe
Exemplos:
 Classe – Veículo
Objeto da Classe – Mercedes do Bruno

 Classe – Pessoa
Objeto da Classe – João

Obs.: Um objeto também é chamado de


instância da classe.
12
Classe
Definição
É um conjunto de Objetos que possuem estados semelhantes
(mesma lista de atributos), comportamento comum (mesmas
operações) e relacionamentos comuns com outros objetos.

“A estrutura de um software é formada pelas classes do


sistema. Analogamente ao esqueleto dos animais, as classes
formam uma armação que dá a sustentação e a forma ao
sistema”

José Eduardo Deboni

13
Exercício

Carro
Antônio
Carlos Computador

TV Cachorro
Ave
Quantas classes podemos definir?
14
Encapsulamento
Objeto
Atributos e Operações de um Objeto devem estar
armazenados no próprio Objeto. Dizemos que
Dados

eles estão encapsulados no Objeto. Operação


Operação
A função do encapsulamento é proteger os Operação

dados do acesso descontrolado. O acesso é


realizado por intermédio de mensagens Lampada
(execução das operações) trocadas entre os tensao
preco
objetos.
acender()
As operações funcionam como serviços que o comprar()
objeto fornece ao mundo exterior.
Exemplo:
Atributo – data do nascimento, Operação – cálculo da idade
(data do nascimento) .
15
Encapsulamento
TELEVISÃO DVD
Exemplo:
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.

16
Estado

Definição: Situação de um objeto em um


dado instante do tempo.

Exemplo(s):
2) Objeto: Nota Fiscal Estado: Emitindo Nota Fiscal
3) Objeto: Pizza Estado: Entregando Pizza

17
Encapsulamento

Definição: Uma solicitação entre objetos


para invocar certa operação.

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

18
Mensagens
Objeto 1 Objeto 2
Dados Dados

A comunicação entre os objetos Operação


Operação
Operação
Operação

ocorre pela troca de mensagens Operação Operação

Um objeto solicita informações de


outro objeto para realizar suas Objeto 3

funções Dados

Uma mensagem é a execução de Operação


Operação
uma operação Operação

Uma mensagem pode ou não


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

Mensagem
19
Herança

É a capacidade de um novo objeto (filho)


tomar (herdar) características e
comportamentos de um objeto(pai) já
existente.

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

A herança permite que as propriedades da classe mãe possam


ser expandidas para a classe filha incluindo novas
características

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

A herança aumenta a capacidade de reutilização das classes

21
Herança
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.
22
Herança
Exemplo 2:

 Classe pai – Pessoa


 Classe filha – Cliente do Banco

Cliente herda características e


comportamentos da classe Pessoa.

23
Subclasse

Definição: Classe que herda as características


da Classe pai. É o mesmo que Classe filha.

Ex: Classe: Árvore


Subclasses: Ipê, Eucalipto, etc.

24
Herança
Exemplo: Equipamentos

Domésticos Elétricos Mecânicos

Rádio Eletrodomésticos Eletromecânicos Hidráulicos


Relógio

TV DVD Motor Torneira


Elétrico

25
Padrões para Nomes de Classes
Classes
Nomes no Singular
Sem hífen, tracinhos ou espaços
Sem Preposições (de, para, do, com, etc)
Não usar palavras desgastadas (Tabela, Cadastro, etc)
Para vários nomes usar 1ª letra Maiúscula e demais
minúsculas

Exemplos: Cliente, ProdutoEstoque, PessoaJuridica

26
Símbolos para uma classe

NomeClasse
NomeClasse NomeClasse
atributos
atributos
operações()
operações()

NomeClasse

27
Padrões para Nomes de Atributos
Atributos
Sem hífen, tracinhos ou espaços
Sem Preposições (de, para, do, com, etc)
1ª letra minúscula (para o caso de vários nomes, a 1ª letra
dos demais nomes devem ser maiúsculas).

Exemplos: idade
nomeCliente
sldDevedor
qtdAlunosMatriculados

28
Padrões para Nomes de Operadores
Operadores (Métodos)
Sem hífen, tracinhos ou espaços
Sem Preposições (de, para, do, com, etc)
Verbos no infinitivo (...ar, ...er, ...ir, etc)
Sempre colocar Verbo + Sujeito
1ª letra minúscula (para o caso de vários nomes, a 1ª letra
dos demais nomes devem ser maiúsculas).
Cliente
Exemplos: calcularSaldoDevedor nome
imprimirBoleto dataN ascimento

im primirCli ente()
calcularIdade()

29
Exercícios

Identifique as Classes e coloque atributos para os


seguintes problemas:

1) Sistema de controle de uma biblioteca

um sistema de suporte para uma biblioteca

biblioteca empresta livros e revistas para clientes, que são


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

biblioteca controla a compra de novos títulos. De títulos populares 30


Exercícios

(continuação)
m cliente pode reservar um livro ou revista que não está
disponível no momento na biblioteca, de forma que quando ele for
devolvido ou comprado pela biblioteca, o cliente é avisado. A
reserva é cancelada quando o cliente retira o livro ou revista, ou
através de um processo exclusivo de cancelamento

biblioteca pode facilmente criar, atualizar, e apagar informações


sobre seus títulos, clientes, empréstimos, e reservas no sistema

sistema pode rodar em todos os ambientes populares (UNIX,


Linux, windows, etc) e tem uma interface gráfica (GUI) moderna

sistema deve ser facilmente estendido com novas funcionalidades


31
Exercícios

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


Cola

sistema deve estar preparado para receber e conferir o dinheiro


colocado pelo Cliente, inclusive para dar o troco.

eve controlar a recarga de refrigerantes pelo Técnico, bem como o


recolhimento do dinheiro da máquina.

32
Exercícios
3) Sistema Bancário

Um cliente poderá abrir uma conta, depositar, fazer saques


(manual e automático), consultar saldo, alterar sua senha e
aplicar em fundos (em terminais ou Internet).

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


cliente.

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


saldo.

33
Diagrama de Classes

O Diagrama de classes mostra as classes de


um sistema e seus relacionamentos.

Representação Gráfica

O símbolo gráfico utilizado para representar


uma classe é uma caixa, possivelmente dividida em
Cl asse
compartimentos. atributo1
atributo2

operacao1()
operacao2()
34
Diagrama de Classes

Esses compartimentos são utilizados em diferentes


situações, dependendo se a classe pertence a um
modelo de análise, design ou implementação.

O primeiro compartimento é chamado de


compartimento do nome, contendo o nome da
classe.

Os compartimentos seguintes são chamados de


compartimentos de listas, podendo acomodar listas
de atributos ou operações.
35
Diagrama de Classes
Compartimento de Atributos

Utilizado para mostrar os atributos de uma classe.

A sintaxe padrão para a descrição dos atributos


nesse compartimento é:

nomeAtributo: tipoAtributo

36
Diagrama de Classes

Compartimento de Operadores (Métodos)


Mostra as operações definidas para uma classe e/ou os
métodos supridos por uma classe.

Sua sintaxe padrão é:


nomeOperacao (lista de parâmetros): tipoParametroRetorno

Cada elemento da lista de parâmetros tem a seguinte sintaxe:


TipoParametro nomeParametro

37
Diagrama de Classes

Compartimento de Operadores (Métodos)


Exemplo:
Classe
atributo1 : Doubl e
atributo2 : Stri ng

op eracao1(pa ram etro1 : Stri ng, parame tro2 : Integer) : Stri ng


op eracao2(pa ram etro1 : D ate) : Intege r

38
Diagrama de Classes -
Relacionamentos
Relacionamento entre Classes

Classes e objetos podem estar conectados por algum tipo


de relacionamento. Podem ser:

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

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

Associações simples são representadas na forma de uma linha


cheia conectando as duas classes.

As extremidades da associação podem possuir uma


multiplicidade.0

40
Diagrama de Classes -
Relacionamentos
Associações

Exemplo(s):

Pacient e PlanoSaude
1..*

Seguro Cliente
0..*

41
Diagrama de Classes -
Relacionamentos
Agregação

Agregações são um tipo especial de associação onde o elemento


associado corresponde a uma parte do elemento principal.

Exemplo(s):
Pedido ItemPedido

Empresa Departamento

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

A diferença básica entre uma agregação e uma composição é que na


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

Quando o objeto da classe principal for destruído, os objetos que o


43
compõem necessariamente também o serão.
Diagrama de Classes -
Relacionamentos
Composição
Exemplo(s):
Chão Quarto Parede

Janela

44
Diagrama de Classes -
Relacionamentos
Classe de Associação

Uma classe de associação é utilizada quando uma


associação necessita de atributos e/ou operações.
Uma classe de associação está ligada à associação entre
duas classes.
Exemplo(s): Paciente Doença

OrdemCompra Produto

ProdutoOrdem DoençaPacient e

45
Diagrama de Classes –
Generalização ou Herança
Considere um programa para gerenciar clientes,
empregados e fornecedores de uma empresa.
Para cada tipo de objetos criamos uma classe com atributos
e métodos.

Exemplo
Classes Pessoa e Empregado:
Pessoa Empregado
nome nome
sexo sexo
devolveSexo() salario
devolveNome() devolveSexo()
devolveNome()
imprime()
devolveSalario()
atualizaSalario(sal)
imprime()

46
Diagrama de Classes –
Generalização ou Herança
Comparando as classes, observamos que:

Ambas possuem os atributos nome e sexo.


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

Representação Gráfica

Pessoa

Empregado

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

Exercí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.

49
Diagrama de Classes – Exercícios

Fazer o Diagrama de Classes dos exercícios:

 Biblioteca
 Máquina Coca-Cola
 Sistema Bancário

50
Diagrama de Classes
Exemplo:
Estudo de Caso 1 – Sistema de Empréstimos

Exercícios:
Estudo de Caso 2 – Revenda de Celulares

51

Вам также может понравиться