Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetos e Classes
[Bertrand Meyer]
2
Concretos: pessoa, lpis, carro, etc. Intangveis: hora, projeto, organizao, etc. Personagem: mdico, professor, etc. Relacional: casamento, parceiro, propriedade. Evento: venda, defeito do sistema. Interface Grfica: janela, cone, boto.
5
Uma pessoa
Uma Regio
6
Componentes de um Objeto
Identidade: o nome do objeto. Cada objeto nico.
Exemplo:
Componentes de um Objeto
Atributos (Caractersticas): 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)
Componentes de um Objeto
Comportamento (Operaes ou Mtodos):
Lgica contida em um objeto para designar-lhe um comportamento. como o objeto responde a outro objeto. Tambm chamado de Mtodo, Comportamento, Procedimento, Funo, etc.
Exemplo: adicionarAluno calcularSaldoDevedor
Mensagem de Solicitao
Atributos
Operaes
Mensagem de Resposta
10
11
Classe Veculo Objeto da Classe Mercedes do Bruno Classe Pessoa Objeto da Classe Joo
Obs.: Um objeto tambm chamado de instncia da classe.
12
Classe
Definio
um conjunto de Objetos que possuem estados semelhantes (mesma lista de atributos), comportamento comum (mesmas operaes) 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 armao que d a sustentao e a forma ao sistema Jos Eduardo Deboni
13
Exerccio
Antnio Carlos
Carro Computador
Ave
TV
Cachorro
14
Encapsulamento
Atributos e Operaes de um Objeto devem estar armazenados no prprio Objeto. Dizemos que eles esto encapsulados no Objeto. A funo do encapsulamento proteger os dados do acesso descontrolado. O acesso realizado por intermdio de mensagens (execuo das operaes) trocadas entre os objetos. As operaes funcionam como servios que o objeto fornece ao mundo exterior. Exemplo:
Atributo data do nascimento, Operao clculo da idade (data do nascimento) .
15
Objeto
Dados
Encapsulamento
Exemplo: TELEVISO DVD Cada aparelho com suas funes A integrao entre eles ocorre pela ligao da sada de um objeto entrada do outro. Com isto o DVD pode usar a TELEVISO para reproduzir imagens.
16
Estado
Definio: Situao de um objeto em um dado instante do tempo.
Exemplo(s): 1) Objeto: Nota Fiscal Estado: Emitindo Nota Fiscal 2) Objeto: Pizza Estado: Entregando Pizza
17
Encapsulamento
Definio: Uma solicitao entre objetos para invocar certa operao.
18
Mensagens
Objeto 1 Objeto 2
Dados
Operao Operao Operao
A comunicao entre os objetos ocorre pela troca de mensagens Um objeto solicita informaes de outro objeto para realizar suas funes Uma mensagem a execuo de uma operao Uma mensagem pode ou no enviar parmetros para outro objeto, bem como receber ou no uma resposta do mesmo.
Dados
Operao Operao Operao
Objeto 3
Dados
Operao Operao Operao
Mensagem
19
Herana
a capacidade de um novo objeto (filho) tomar (herdar) caractersticas e comportamentos de um objeto(pai) j existente.
20
Herana
uma caracterstica 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, operaes) A herana permite que as propriedades da classe me possam ser expandidas para a classe filha incluindo novas caractersticas O uso de herana permite criar classes mais genricas A herana aumenta a capacidade de reutilizao das classes
21
Herana
Exemplo 1:
Herana
Exemplo 2:
Subclasse
Definio: Classe que herda as caractersticas da Classe pai. o mesmo que Classe filha.
Ex: Classe: rvore Subclasses: Ip, Eucalipto, etc.
24
Herana
Exemplo:
Equipamentos
Domsticos
Eltricos
Mecnicos
Rdio Relgio
Eletrodomsticos
Eletromecnicos
Hidrulicos
TV
DVD
Motor Eltrico
Torneira
25
26
NomeClasse atributos
NomeClasse operaes()
27
Exemplos:
29
Exerccios
Identifique as Classes e coloque atributos para os seguintes problemas:
1) Sistema de controle de uma biblioteca
um sistema de suporte para uma biblioteca A biblioteca empresta livros e revistas para clientes, que so registrados no sistema, no qual tambm esto registrados os livros e as revistas A biblioteca controla a compra de novos ttulos. De ttulos populares compra-se vrias cpias. Livros antigos e revistas so removidos quando esto ultrapassados ou deteriorados Bibliotecrio um funcionrio da biblioteca que interage com os clientes e seu trabalho auxiliado pelo sistema
30
Exerccios
(continuao)
Um cliente pode reservar um livro ou revista que no est disponvel 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 atravs de um processo exclusivo de cancelamento A biblioteca pode facilmente criar, atualizar, e apagar informaes sobre seus ttulos, clientes, emprstimos, e reservas no sistema O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface grfica (GUI) moderna O sistema deve ser facilmente estendido com novas funcionalidades O sistema deve lidar com a mensagem que enviada ao cliente quando um ttulo reservado torna-se disponvel, e precisa checar se um determinado ttulo est ultrapassado ou deteriorado.
31
Exerccios
2) Sistema de controle de uma mquina que vende Coca-Cola
O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco. Deve controlar a recarga de refrigerantes pelo Tcnico, bem como o recolhimento do dinheiro da mquina.
32
Exerccios
3) Sistema Bancrio
Um cliente poder abrir uma conta, depositar, fazer saques (manual e automtico), 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 alterao da senha e a consulta ao saldo.
33
Diagrama de Classes
O Diagrama de classes mostra as classes de um sistema e seus relacionamentos. Representao Grfica
O smbolo grfico utilizado para representar uma classe uma caixa, possivelmente dividida em compartimentos. Classe
atributo1 atributo2 operacao1() operacao2()
34
Diagrama de Classes
Esses compartimentos so utilizados em diferentes situaes, dependendo se a classe pertence a um modelo de anlise, design ou implementao. O primeiro compartimento chamado de compartimento do nome, contendo o nome da classe. Os compartimentos seguintes so chamados de compartimentos de listas, podendo acomodar listas de atributos ou operaes.
35
Diagrama de Classes
Compartimento de Atributos
Utilizado para mostrar os atributos de uma classe. A sintaxe padro para a descrio dos atributos nesse compartimento :
nomeAtributo: tipoAtributo
36
Diagrama de Classes
Compartimento de Operadores (Mtodos)
Mostra as operaes definidas para uma classe e/ou os mtodos supridos por uma classe. Sua sintaxe padro :
TipoParametro nomeParametro
37
Diagrama de Classes
Compartimento de Operadores (Mtodos)
Exemplo:
Classe atributo1 : Double atributo2 : String operacao1(parametro1 : String, parametro2 : Integer) : String operacao2(parametro1 : Date) : Integer
38
40
PlanoSaude
41
Exemplo(s):
Pedido ItemPedido
Empresa
Departamento
42
Janela
44
Paciente
Doena
ProdutoOrdem
DoenaPaciente
45
Empregado
46
Diagrama de Classes
Comparando as classes, observamos que:
Generalizao ou Herana
Ambas possuem os atributos nome e sexo. Ambas oferecem os mesmos mtodos para buscar o nome e o sexo (devolveNome(),devolveSexo()). A classe Empregado adiciona um novo atributo para armazenar o salrio, e os mtodos especficos de um empregado. Portanto podemos dizer que um empregado uma pessoa com algumas coisas a mais. Seria interessante se no precisssemos repetir na classe Empregado o cdigo comum classe Pessoa. Isto possvel se definirmos que a classe Empregado herda as caractersticas da classe Pessoa.
47
Diagrama de Classes
Representao Grfica
Pessoa
Generalizao ou Herana
Empregado
48
Diagrama de Classes
Exerccios
Generalizao ou Herana
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, VeiculoAqutico, VeiculoAutoMotor, Carro, Moto, Barco, NavioCargueiro, Caminho, VeiculoAnfibio, Submarino, VeiculoAereo, Aviao, HidroAviao.
49
50
Diagrama de Classes
Exemplo: Estudo de Caso 1 Sistema de Emprstimos Exerccios: Estudo de Caso 2 Revenda de Celulares
51