Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… ·...

25
Conceitos/princípios da orientação a objeto 19 19 orientação a objeto

Transcript of Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… ·...

Page 1: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

Conceitos/princípios da orientação a objeto

1919

orientação a objeto

Page 2: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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.

Page 3: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

logsp

ot.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

logsp

ot.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

Page 4: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

Em uma universidade existem inúmeros professores,cada um com uma matrícula SIAPE, um nome, uma área deconhecimento, uma titulação, etc..

Cada um é um objeto.

Porém é possível perceber que todos os professores temo 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.

Page 5: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

ww

w.a

pre

ndendoem

rede.in

fo/c

ate

gory

/pro

fessore

s

?Classe professor

Conceitos/princípios da orientação a objeto

23

ww

w.a

pre

ndendoem

rede.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

Page 6: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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.

Page 7: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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.

Page 8: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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.

Page 9: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 10: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 11: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 12: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 13: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 14: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 15: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 16: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 17: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 18: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 19: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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

Page 20: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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.

Page 21: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

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.

Page 22: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

Ao representarmos o sistema enfocando os objetospertencentes ao mesmo, evidencia-se a relevância dese estabelecer um meio para que exista a interaçãoentre os objetos.

Este aspecto nos remete a estudar melhor a interfasedos objetos, ou seja, suas mensagens.

Conceitos/princípios da orientação a objeto

40

dos objetos, ou seja, suas mensagens.

Uma mensagem é a maneira pela qual um objeto-emissor dirige para um objeto-alvo uma solicitaçãopara que o objeto-alvo aplique um de seus métodos.[8]

Observação: O objeto-emissor e o objeto-alvo podeser o mesmo.

Page 23: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

matrícula SIAPEnome

área de conhecimentotitulação

Consultar nome Alterar área de conhecimento

Registrar notas

Registrar faltas

Alterar titulaçãoConsultar área de conhecimento

Alterar nome Consultar matrícula SIAPE

Consultar titulação

Conceitos/princípios da orientação a objeto

41Classe coordenador

matrícula SIAPEnome

área de conhecimentotitulaçãomandato

Consultar nome Alterar área de conhecimento

Registrar notas

Registrar faltas

Alterar titulaçãoConsultar área de conhecimento

Alterar nome Consultar matrícula SIAPE

Consultar titulação

Classe professor

Fechar semestre letivo

Page 24: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

matrícula SIAPEnome

área de conhecimentotitulação

Consultar nome Alterar área de conhecimento

Registrar notas

Registrar faltas

Alterar titulaçãoConsultar área de conhecimento

Alterar nome Consultar matrícula SIAPE

Consultar titulação

Conceitos/princípios da orientação a objeto

42Sr_Burns

matrícula SIAPEnome

área de conhecimentotitulaçãomandato

Consultar nome Alterar área de conhecimento

Registrar notas

Registrar faltas

Alterar titulaçãoConsultar área de conhecimento

Alterar nome Consultar matrícula SIAPE

Consultar titulação

Raimundo

Fechar semestre letivo

Para quem?Pedindo o que?Deve-se fornecer alguma informação para a realização do método?O método retorna algo?

Page 25: Conceitos/princípios da orientação a objetomarcelo.linder/arquivos_pooX4/material_seme… · Conceitos/princípios da orientação a objeto 26 Para uma melhor compreensão do conceito

matrícula SIAPEnome

área de conhecimentotitulação

Consultar nome Alterar área de conhecimento

Registrar notas

Registrar faltas

Alterar titulaçãoConsultar área de conhecimento

Alterar nome Consultar matrícula SIAPE

Consultar titulação

Conceitos/princípios da orientação a objeto

43Sr_Burns

matrícula SIAPEnome

área de conhecimentotitulaçãomandato

Consultar nome Alterar área de conhecimento

Registrar notas

Registrar faltas

Alterar titulaçãoConsultar área de conhecimento

Alterar nome Consultar matrícula SIAPE

Consultar titulação

Raimundo

Fechar semestre letivo