conceitos/princípios da orientação a objeto › ~marcelo.linder › arquivos_poox4... · o...
TRANSCRIPT
Conceitos/princípios da orientação a objeto
1919
orientação a objeto
Conceitos/princípios da orientação a objeto
O que é um objeto?
É tudo que se oferece aos nossos sentidos ou ànossa alma. (DIC Michaelis UOL)
E no contexto do paradigma orientado aobjeto?
2020
objeto?
Objetos são essencialmente componentes desoftware reutilizáveis que modelam itens do mundoreal. [3]
Ou seja, um objeto é uma entidade representativaque pode caracterizar algo concreto ou abstrato domundo real.
No sistema de gestão acadêmica temos osseguintes objetos:
ww
w.a
pre
ndendoem
rede.in
fo/c
ate
gory
/pro
fessore
s
http://d
enils
odelim
a.b
logspot.com
/2009/0
3/
ingle
s-o
-que-t
odo-e
stu
dante
.htm
l
Conceitos/princípios da orientação a objeto
2121
Apenas estes?
ww
w.a
pre
ndendoem
rede.in
fo/c
ate
gory
/pro
fessore
s
Coordenador
http://d
enils
odelim
a.b
logspot.com
/2009/0
3/
dic
as-d
e-i
ngle
s
Aluno
http://w
ww
.laze
rtecn
olo
gia
.com
/tag/m
onito
r/
Professor
Monitor Teclado ImpressoraTurma
Em uma universidade existem inúmeros professores,cada um com uma matrícula SIAPE, um nome, uma área deconhecimento, uma titulação, etc..
Onde, cada um é um objeto.
Porém, é possível perceber que todos os professores têmo mesmo conjunto de informações relevantes ao sistema e
Conceitos/princípios da orientação a objeto
22
o mesmo conjunto de informações relevantes ao sistema eque além disso todos desempenham as mesmas ações.
Esta observação nos leva a identificar/definir a classeprofessor.
ww
w.a
pre
ndendoem
red
e.in
fo/c
ate
gory
/pro
fessore
s
?Classe professor
Conceitos/princípios da orientação a objeto
23
ww
w.a
pre
ndendoem
red
e.in
fo/c
ate
gory
/pro
fessore
s
http://audienciadatv.wordpress.com/2009/12/30/previa-%E2%80%9Cchico-amigos%E2%80%9D-marca-25-pontos/
O professor Raimundo O professor Girafales
Com base no que foi visto qual a definição de classe?Uma classe é uma matriz (modelo ou forma) a partir da
qual os objetos são criados (instanciados).
Cada objeto tem a mesma estrutura e comportamento daclasse da qual ele foi instanciado.
As informações sobre os professores são denominadasatributos, ou seja, cada um dos professores tem o mesmo
Conceitos/princípios da orientação a objeto
24
atributos, ou seja, cada um dos professores tem o mesmoconjunto de atributos.
Os valores dos atributos podem ser iguais entre os objetosda mesma classe.
Por exemplo:- O professor Raimundo e o professor Girafales
podem pertencer à mesma área de conhecimento.
Também é possível que os valores dos atributos sejamdiferentes de um objeto para outro de uma mesma classe,este fato é evidenciado em nosso exemplo pelo atributonome dos professores.
Outro detalhe relevante é que o valor dos atributos de umobjeto pode variar.
Por exemplo:- O professor Raimundo pode ter o atributo titulação
Conceitos/princípios da orientação a objeto
25
- O professor Raimundo pode ter o atributo titulaçãoigual a mestre, cursar um doutorado, e passar o valor desteatributo para doutor.
O conjunto dos valores dos atributos de um objeto em umdado instante caracteriza o seu estado.
A identidade de um objeto é a propriedade segundo a qualcada objeto (independente de sua classe ou estado atual)pode ser identificado e tratado como uma entidade distinta.
As ações desempenhadas por um objeto são definidas pormétodos (funções).
Ou seja, um método constitui um comportamento de umobjeto representado por um conjunto de instruções.
Logo, na classe professor existirá um método para registrarnotas, outro para registrar faltas e assim por diante.
Conceitos/princípios da orientação a objeto
26
notas, outro para registrar faltas e assim por diante.
Para uma melhor compreensão do conceito de métodostrabalharemos agora o conceito de encapsulamento.
No contexto do paradigma da orientação a objeto,encapsulamento é o agrupamento deprocedimentos/funções em torno de dados.Sendo mais técnico, trata-se de encapsular o estado dentrode mecanismos procedurais/funcionais para acessar emodificar aquele estado.
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
27
Um aluno atento associaria estes conceitos com o conceitode TAD.TAD -> Tipos Abstratos de Dados.
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
28
Em estruturas de dados definimos, por exemplo, o TADFILA...Determinando uma estrutura para a fila e especificando umconjunto de operações que agirão sobre a mesma.
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
29
Um detalhe muito importante é que os atributos de umobjeto são por definição privados.Isto significa que só podem ser acessados (consultados oumanipulados) através de um método. No entanto, a maioriadas linguagens orientadas a objeto possibilitam aespecificação de um atributo como público.
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
30
Por sua vez, os métodos de um objeto são por definiçãopúblicos.Isto significa que podem ser evocados por qualquer objeto.No entanto, a maioria das linguagens orientadas a objetopossibilitam a especificação de métodos privados.
Consultar matrícula SIAPE
Classe professor
Método privado
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
31
Qual a utilidade de um método privado?Auxiliar na execução de uma determinada ação por outrométodo.Com base no princípio do encapsulamento podemos definiros conceitos de ocultamento de informação/implementação.
Consultar matrícula SIAPE
Classe professor
Método privado
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
32
As expressões ocultamento de informação e deimplementação estão relacionadas ao uso doencapsulamento para restringir a visibilidade de certasinformações ou decisões de implementação internas àestrutura de encapsulamento. [8]
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
33
De que forma é armazenado o atributo titulação?Como um caractere?Como uma string?
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
34
Se for armazenado como um caractere.Como é feito o retorno pelo método consultar titulação?É retornado o caractere?É feita a conversão para a string correspondente?
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
Possui pós-graduação
35
Se substituíssemos o método “Consultar titulação” pelométodo “Possui pós-graduação” teríamos um exemplo de?Ocultamento de informação.Pois?Não teríamos como saber se no atributo titulação constariaespecialista, mestre ou doutor.
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
36
Como um método é evocado?Um método é evocado através do envio de uma mensagempara o objeto que o possui.Por exemplo: professor_girafales.registrar_notas(Turma t1)
Consultar matrícula SIAPE
Classe professor
matrícula SIAPEnome
área de conhecimentotitulação
Consultar nomeAlterar área de conhecimento
Registrar notas
Registrar faltas
Alterar titulaçãoConsultar área de conhecimento
Alterar nome
Consultar matrícula SIAPEConsultar titulação
Conceitos/princípios da orientação a objeto
37
O conjunto de mensagens que um objeto pode receber édenominado interface do objeto.
Consultar matrícula SIAPE
Classe professor
Resumo:
Aprendemos hoje o conceito de:
Objeto;Classe;Instanciar;Atributo;
Conceitos/princípios da orientação a objeto
38
Atributo;Estado;Identidade;Método;Encapsulamento;Ocultamento de informação/implementação;Mensagem;Interface.
Exercício:
Com base no que foi estudado identifique um sistema paraser analisado sob o paradigma orientado a objeto.
Identifique os objetos que compõem o sistema.
surr
eal.b
logsp
ot.co
m/f
eeds/
post
s/d
efa
ult
- Usar a capacidade de abstração;- Considerar apenas os objetos relevantes para a implementação do sistema;
Conceitos/princípios da orientação a objeto
- Focalizar o essencial;- Ter em mente um objetivo.
39
http://w
eb-s
urr
eal.b
logsp
ot.co
m/f
eeds/
post
s/d
efa
ult
Identifique uma classe para um dos objetos identificados.
Especifique a classe determinando:- Os atributos;- Os métodos.Com base no princípio do encapsu-lamento demonstre o princípio do ocultamento de informação/implementação.