Upload
frederico-bortolato
View
250
Download
0
Embed Size (px)
Citation preview
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
1/37
Aula 1 Reviso de
Conceitos de OO
Modelagem de Sistemas
Prof. Frederico Bortolato
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
2/37
Agenda
1. Conceito de Objeto
2. Estado, Comportamento e Identidade
3. Princpios da Orientao Objetos4. Classes
5. Herana (Generalizao)
6. Polimorfismo, Sobrecarga e Sobreposio7. Exerccios
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
3/37
Orientao Objetos - Reviso
Uma nova maneira de pensar [e organizar] os problemasutilizando conceitos do Mundo Real. O componentefundamental o OBJETO que combina estrutura e
comportamento em uma nica entidade[Raumbaugh]
Um sistema orientado a objetos uma coleo de objetos
que interagem entre si
[Bertrand Meyer]
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
4/37
As Bases da Orientao a Objetos
Correspondncia com o mundo real
Modularidade dos componentes
Objetos com finalidade prpria Permite a combinao destes Objetos
Baixa dependncia externa
Alta coeso interna Fcil ampliao do objeto
Permite reuso dos objetos
Encapsulamento
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
5/37
Conceito de Objeto
Objeto um elemento do mundo real (Jos Davi Furlan) Informalmente, um objeto representa uma entidade que
pode ser fsica, conceitual ou de software.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
6/37
Exemplos de Objetos
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.
Muitos outros...
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
7/37
Definio formal de Objeto
Um objeto uma entidade com uma fronteirabem definida e uma identidadeque encapsula
estadose comportamento.
Estado representado por atributos e
relacionamentos. Comportamento representado por
operaes, mtodos e mquinas de estados.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
8/37
Estados do Objeto
O estado de um objeto a condio ou situao duranteo ciclo de vida (em um dado instante) de um objeto oqual satisfaz algumas condies, executa algumaatividade ou aguarda algum evento.
O estado de um objeto normalmente mudo ao longo dotempo.
Exemplos:
Idade de uma Pessoa (objeto Pessoa) Saldo de um Cliente (objeto Cliente)
Quantidade de Alunos (objeto Turma)
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
9/37
Comportamento do Objeto
O comportamento determina como um objeto age ereage.
O comportamento observvel de um objeto modelado por um conjunto de mensagens que elepode responder. (operaes que o objeto executa).
Exemplo:
Adicionar Aluno (objeto Turma)
Calcular Saldo Devedor (objeto Conta)
Publicar Notas Finais (objeto Professor)
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
10/37
Identidade de um Objeto
o nome do objeto que o identifica demaneira nica.
Cada objeto possui uma identidade nica,mesmo que o estado do objeto seja idnticoao de outro objeto.
Exemplos:
Frederico (objeto Professor)
Mauricio (objeto Professor)
Joo (objeto Aluno)
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
11/37
Princpios da Orientao Objetos
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
12/37
Abstrao
So caractersticas essenciais de uma entidade que adistingue de todos os outros tipos de entidade.
Define uma fronteira relativa perspectiva do
observador. No uma manifestao concreta, denota a essncia
ideal de alguma coisa (focalizar o essencial,ignorando os pormenores).
Deve ser executada com algum objetivo para saber oque importante e o que no .
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
13/37
Exemplos de Abstrao
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
14/37
Exemplos de abstrao
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
15/37
Encapsulamento
Atributos e Operaes de um Objeto devem estararmazenados no prprio Objeto (encapsulados noObjeto), escondendo a implementao dosclientes.
A funo do encapsulamento proteger os dadosdo acesso descontrolado.
O acesso realizado por intermdio demensagens (execuo das operaes) trocadas
entre os objetos. As operaes funcionam como servios que o
objeto fornece ao mundo exterior (clientesdependem dessa interface).
Dados
Operao
Operao
Operao
Objeto
Lampada
tensao
preco
acender()
comprar()
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
16/37
Modularidade
Quebra algo complexo em partes gerenciveis.
Auxilia as pessoas a entender sistemas
complexos.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
17/37
Exemplo de Modularidade
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
18/37
Hierarquia
Maior abstrao
Menor abstrao
Ativo
ContaBancria
PoupanaConta
Corrente
ValoresMobilirios
Aes Aplices
TtuloPblico
Elementos em um mesmo nvel hierrquico
devem estar no mesmo nvel de abstrao.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
19/37
Classe
Uma classe uma descrio formal de um conjunto deobjetosque compartilhamos mesmos atributos,operaes, relacionamentos e semntica (mesmaespecificao).
Uma classe uma abstraoque evidenciacaractersticas relevantes e suprime outrascaractersticas.
Se comporta como um modelopara criao de objetos.
Define a estrutura e o comportamento de cada objeto daclasse.
Um objeto uma instnciade uma classe.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
20/37
Exemplos de Classes
ClasseVeculo
Objeto da ClasseMercedes do Bruno
ClassePessoa
Objeto da ClasseJoo
Obs.: Um objeto tambm chamado de instncia daclasse.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
21/37
Atributo de classe
Um atributo uma propriedade nomeada de uma classe edescreve um conjunto de valores (domnio) que as instnciasdesta propriedade podem assumir.
Uma classe pode possuir um nmero qualquer de atributos,
inclusive nenhum.
Atributos
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
22/37
Atributos em classes e objetos
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
23/37
Operaes
Um servio que pode ser requisitado de um objeto para afetarseu comportamento.
Uma operao possui uma assinatura a qual define a forma eos parmetros da operao.
A classe pode ter nenhuma ou muitas operaes.
Operaes
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
24/37
Mensagens
A comunicao entre os objetosocorre pela troca de mensagens
Um objeto solicita informaes de
outro objeto para realizar suasfunes
Uma mensagem a execuo deuma operao
Uma mensagem pode ou noenviar parmetros para outroobjeto, bem como receber ou nouma resposta do mesmo.
Dados
Operao
Operao
Operao
Objeto 1
Dados
Operao
Operao
Operao
Objeto 2
Dados
Operao
Operao
Operao
Objeto 3
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
25/37
Herana
a capacidade de um novo tipo de objeto(classe filha) tomar (herdar) caractersticas ecomportamentos de um outro tipo de
objeto(classe pai) j existente.Conta
Bancria
PoupanaConta
Corrente
Define um relacionamento de Generalizao
entre as classes
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
26/37
Herana
Um objeto de uma subclasse herda os atributos, operaes erelacionamentos da superclasse.
Permite que as propriedades da classe me possam serexpandidas para a classe filha incluindo novas caractersticas.
O uso de herana permite criar classes mais genricas e/oumais especficas.
A herana aumenta a capacidade de reutilizao das classes.
Uma subclasse pode: Adicionar atributos, operaes e relacionamentos novos.
Redefinir operaes herdadas.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
27/37
Exemplos de Herana
Exemplo 1:Classe paiAutomvelClasse filhaPorshe
Porshe herda caractersticas e comportamentos da classe Automvel.
Atributos do Automvel: Potncia, capacidade de passageiros.
Atributos do Porshe: Turbo.
Exemplo 2:Classe pai PessoaClasse filhaCliente do Banco
Cliente herda caractersticas e comportamentos da classe Pessoa.
Atributos de Pessoa: Nome, Idade, EndereoAtributos de Cliente: Conta, Agencia
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
28/37
Herana simples
Uma classe herana de nica outra.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
29/37
Herana Mltipla
Uma classe pode ser herdeira de vrias classes.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
30/37
Polimorfismo
Habilidade de esconder muitasimplementaes por trs de uma nica
interface. Habilidade de duas ou mais classes
responderem mesma solicitao, cada uma a
seu modo.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
31/37
Exemplo de Polimorfismo
A classe cliente no precisa saber como e onde calculado o Valor (encapsulamento)
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
32/37
Sobrecarga
Em uma mesma classe pode possuiroperaes com o mesmo nome e parmetros
diferentes. Quando isso ocorre dizemos que este mtodo
foi sobrecarregado.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
33/37
Sobreposio
Em uma hierarquia de classes, caso exista ummtodo na sub-classe com a mesma
assinatura de um mtodo da classe pai, estese sobrepor ao mtodo da super-classe.
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
34/37
Dvidas e sugestes
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
35/37
Exerccio 1
Quantas classes podemos definir?
Antnio
Carlos
Carro
CachorroAve
TV
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
36/37
Exerccio 2
Avalie as sentenas abaixo como Verdadeiro (V) ou Falso (F):( ) So 3 os elementos que caracterizam um objeto: Identidade,Estado e Comportamento.
( ) As classes so elementos do mundo real, no se
caracterizando por nenhum tipo de abstrao sobre eles.( ) O Estado de um objeto a condio ou situao durante ociclo de vida (em um dado instante) de um objeto o qual satisfazalgumas condies, executa alguma atividade ou aguarda algum
evento.( ) Dois objetos distintos, se possurem o mesmo Estado e omesmo Comportamento, tero a mesma Identidade
7/23/2019 Modelagem de Sistemas - 2015.2 - Aula 01 - Reviso de Conceitos de OO
37/37
Exerccio 2 (cont)
Avalie as sentenas abaixo como Verdadeiro (V) ou Falso (F):( ) A funo do encapsulamento proteger os dados do acessodescontrolado, escondendo a sua implementao dos clientes,sendo que o acesso realizado por intermdio de mensagens
entre os objetos.( ) Classe uma coleo de objetos que compartilhamidentidades.
( ) Num relacionamento de Generalizao (herana), um objeto
de uma subclasse herda somente os atributos da superclasse.( ) O Polimorfismo a habilidade de esconder muitasimplementaes por trs de uma nica interface.