1 conceitos de orientaÇÃo a objetos. 2 conceitos de orientação a objeto histórico os conceitos...

59
1 CONCEITOS DE CONCEITOS DE ORIENTAÇÃO A ORIENTAÇÃO A OBJETOS OBJETOS

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

1

CONCEITOS DE CONCEITOS DE ORIENTAÇÃO A ORIENTAÇÃO A

OBJETOSOBJETOS

Page 2: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

2

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

HistóricoHistórico

Os conceitos de orientação a objetos vêm Os conceitos de orientação a objetos vêm sendo discutido há muito tempo, desde o sendo discutido há muito tempo, desde o lançamento da 1lançamento da 1a linguagem orientada a linguagem orientada a objeto – SIMULA.objeto – SIMULA.

Primeiros autores dessa metodologia foram Primeiros autores dessa metodologia foram Peter Coad, Edward Yourdon e Roger Peter Coad, Edward Yourdon e Roger PressmanPressman

HistóricoHistórico

Os conceitos de orientação a objetos vêm Os conceitos de orientação a objetos vêm sendo discutido há muito tempo, desde o sendo discutido há muito tempo, desde o lançamento da 1lançamento da 1a linguagem orientada a linguagem orientada a objeto – SIMULA.objeto – SIMULA.

Primeiros autores dessa metodologia foram Primeiros autores dessa metodologia foram Peter Coad, Edward Yourdon e Roger Peter Coad, Edward Yourdon e Roger PressmanPressman

Page 3: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

3

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Os conceitos discutidos por Coad, Yourdon e Os conceitos discutidos por Coad, Yourdon e Pressman são:Pressman são:

• Orientação a objeto é uma tecnologia para a produção de Orientação a objeto é uma tecnologia para a produção de

modelos que especifique o domínio do problema de um modelos que especifique o domínio do problema de um

sistema;sistema;• Quando construídos corretamente, sistemas orientados a Quando construídos corretamente, sistemas orientados a

objetos são flexíveis a mudanças, operando com objetos são flexíveis a mudanças, operando com

componentes totalmente reutilizáveis; componentes totalmente reutilizáveis; • Orientação a objeto não é só teoria, mas uma tecnologia Orientação a objeto não é só teoria, mas uma tecnologia

de eficiência e qualidade comprovada usada em inumeros de eficiência e qualidade comprovada usada em inumeros

projetos de sistemas.projetos de sistemas.

Os conceitos discutidos por Coad, Yourdon e Os conceitos discutidos por Coad, Yourdon e Pressman são:Pressman são:

• Orientação a objeto é uma tecnologia para a produção de Orientação a objeto é uma tecnologia para a produção de

modelos que especifique o domínio do problema de um modelos que especifique o domínio do problema de um

sistema;sistema;• Quando construídos corretamente, sistemas orientados a Quando construídos corretamente, sistemas orientados a

objetos são flexíveis a mudanças, operando com objetos são flexíveis a mudanças, operando com

componentes totalmente reutilizáveis; componentes totalmente reutilizáveis; • Orientação a objeto não é só teoria, mas uma tecnologia Orientação a objeto não é só teoria, mas uma tecnologia

de eficiência e qualidade comprovada usada em inumeros de eficiência e qualidade comprovada usada em inumeros

projetos de sistemas.projetos de sistemas.

Page 4: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

4

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

As principais metodologias que deixaram a As principais metodologias que deixaram a orientação objeto popular nos anos 90 são:orientação objeto popular nos anos 90 são:

• Booch – Booch – definiu que um sistema é analisado a partir de um

número de visões, onde cada visão é descrita por vários

diagramas – visão Macro e Micro de processos;

• OMT- Técnica de Modelagem de Objetos, desenvolvida pela

GE por Rumbaugh, opera sobre análise de requisito e teste

dos modelos – apoia-se em objetos, funções e use-case;

• OOSE/Objectory - baseia em Jacobson sendo orientado a

objeto e utilizando use-cases, definindo os requisitos iniciais

do sistema, abordados como ator externo.

As principais metodologias que deixaram a As principais metodologias que deixaram a orientação objeto popular nos anos 90 são:orientação objeto popular nos anos 90 são:

• Booch – Booch – definiu que um sistema é analisado a partir de um

número de visões, onde cada visão é descrita por vários

diagramas – visão Macro e Micro de processos;

• OMT- Técnica de Modelagem de Objetos, desenvolvida pela

GE por Rumbaugh, opera sobre análise de requisito e teste

dos modelos – apoia-se em objetos, funções e use-case;

• OOSE/Objectory - baseia em Jacobson sendo orientado a

objeto e utilizando use-cases, definindo os requisitos iniciais

do sistema, abordados como ator externo.

Page 5: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

5

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

UML – Unified Modeling LanguageUML – Unified Modeling LanguageUML – Unified Modeling LanguageUML – Unified Modeling Language

Diante desta diversidade de conceitos, "os três amigos", Grady Booch, James

Rumbaugh e Ivar Jacobson decidiram criar uma Linguagem de Modelagem

Unificada - UML. Eles disponibilizaram inúmeras versões preliminares da UML

para a comunidade de desenvolvedores e a resposta incrementou muitas

novas idéias que melhoraram ainda mais a linguagem.O objetivo da UML é descrever qualquer tipo de

sistema, em termos de diagramas orientados a

objetos.

Page 6: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

6

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

UML – Unified Modeling LanguageUML – Unified Modeling LanguageUML – Unified Modeling LanguageUML – Unified Modeling Language

Principais Sistemas que utilizam a UML:

·Sistemas de Informação: Armazenar, pesquisar, editar e mostrar informações para os

usuários. – manipular banco de dados;.

· Sistemas Técnicos: Manter e controlar equipamentos técnicos como de

telecomunicações, equipamentos militares ou processos industriais;

· Sistemas Real-time Integrados: Executados em simples peças de hardware integrados a

telefones celulares, carros, alarmes etc. Estes sistemas implementam programação de baixo

nível e requerem suporte real-time;

· Sistemas Distribuídos: Distribuídos em máquinas onde os dados são transferidos facilmente

de uma máquina para outra;

· Sistemas de Negócios: descreve os objetivos, especificações (pessoas, computadores etc.),

as regras (leis, estratégias de negócios etc.), e o atual trabalho desempenhado nos processos

do negócio.

Page 7: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

7

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Para entendermos os conceitos de Para entendermos os conceitos de orientação a objetos, vamos orientação a objetos, vamos começar com duas perguntas começar com duas perguntas fáceis: fáceis: 1ª) Olhe para os automóveis da 1ª) Olhe para os automóveis da Figura abaixo:Figura abaixo:

Para entendermos os conceitos de Para entendermos os conceitos de orientação a objetos, vamos orientação a objetos, vamos começar com duas perguntas começar com duas perguntas fáceis: fáceis: 1ª) Olhe para os automóveis da 1ª) Olhe para os automóveis da Figura abaixo:Figura abaixo:

Page 8: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

8

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 9: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

9

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 10: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

10

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 11: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

11

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 12: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

12

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

e responda: Quais e responda: Quais características similares características similares você identificaria nesses você identificaria nesses veículos?veículos?

e responda: Quais e responda: Quais características similares características similares você identificaria nesses você identificaria nesses veículos?veículos?

Page 13: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

13

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

2ª) Como se calcula 2ª) Como se calcula um seguro total para um seguro total para cada um desses cada um desses veículos?veículos?

2ª) Como se calcula 2ª) Como se calcula um seguro total para um seguro total para cada um desses cada um desses veículos?veículos?

Page 14: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

14

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Pois bem, até hoje o foco da Pois bem, até hoje o foco da modelagem concentrou-se nas modelagem concentrou-se nas funcionalidades de um sistema. funcionalidades de um sistema. Módulos distintos atuavam Módulos distintos atuavam diretamente sobre as bases de diretamente sobre as bases de dados, às vezes de forma dados, às vezes de forma desordenada.desordenada.

Pois bem, até hoje o foco da Pois bem, até hoje o foco da modelagem concentrou-se nas modelagem concentrou-se nas funcionalidades de um sistema. funcionalidades de um sistema. Módulos distintos atuavam Módulos distintos atuavam diretamente sobre as bases de diretamente sobre as bases de dados, às vezes de forma dados, às vezes de forma desordenada.desordenada.

Page 15: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

15

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Quando qualquer alteração era Quando qualquer alteração era feita nessas bases, diversos feita nessas bases, diversos módulos eram afetados. Erros módulos eram afetados. Erros advindos dessas alterações, por advindos dessas alterações, por muitas vezes, só eram muitas vezes, só eram descobertos semanas mais tarde.descobertos semanas mais tarde.

Quando qualquer alteração era Quando qualquer alteração era feita nessas bases, diversos feita nessas bases, diversos módulos eram afetados. Erros módulos eram afetados. Erros advindos dessas alterações, por advindos dessas alterações, por muitas vezes, só eram muitas vezes, só eram descobertos semanas mais tarde.descobertos semanas mais tarde.

Page 16: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

16

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

A grande vantagem que obtemos com a orientação a objetos é o fato de podermos abstrair de uma maneira mais fiel as situações do dia-a-dia. Para alcançarmos esta facilidade precisamos mudar a forma de pensar sobre sistemas.

A grande vantagem que obtemos com a orientação a objetos é o fato de podermos abstrair de uma maneira mais fiel as situações do dia-a-dia. Para alcançarmos esta facilidade precisamos mudar a forma de pensar sobre sistemas.

Page 17: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

17

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Esta abstração é feita por representações do mundo real, chamadas de objetos. Só precisamos voltar a praticar o conhecimento que possuíamos desde a nossa infância: identificar os objetos e seus comportamentos, o que possibilita que eles sejam categorizados.

Esta abstração é feita por representações do mundo real, chamadas de objetos. Só precisamos voltar a praticar o conhecimento que possuíamos desde a nossa infância: identificar os objetos e seus comportamentos, o que possibilita que eles sejam categorizados.

Page 18: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

18

ObjetoObjeto

Page 19: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

19

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

A A orientação a objetoorientação a objeto é uma abordagem para o desenvolvimento de software que organiza os problemas e a suas soluções como um conjunto de objetos distintos.

A A orientação a objetoorientação a objeto é uma abordagem para o desenvolvimento de software que organiza os problemas e a suas soluções como um conjunto de objetos distintos.

Page 20: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

20

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Passamos a identificar os objetos Passamos a identificar os objetos por suas características e por suas características e comportamentos. Ao olharmos comportamentos. Ao olharmos uma caneta, independentemente uma caneta, independentemente de seu formato ou cor de sua de seu formato ou cor de sua tinta, conseguimos identificá-latinta, conseguimos identificá-la

Passamos a identificar os objetos Passamos a identificar os objetos por suas características e por suas características e comportamentos. Ao olharmos comportamentos. Ao olharmos uma caneta, independentemente uma caneta, independentemente de seu formato ou cor de sua de seu formato ou cor de sua tinta, conseguimos identificá-latinta, conseguimos identificá-la

Page 21: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

21

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 22: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

22

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Na concepção de modelagem Na concepção de modelagem de sistemas, de sistemas, um objeto é um objeto é qualquer coisa existente no qualquer coisa existente no mundo realmundo real, em formato , em formato concreto ou abstrato, ou seja, concreto ou abstrato, ou seja, que exista fisicamente ou que exista fisicamente ou apenas conceitualmente.apenas conceitualmente.

Na concepção de modelagem Na concepção de modelagem de sistemas, de sistemas, um objeto é um objeto é qualquer coisa existente no qualquer coisa existente no mundo realmundo real, em formato , em formato concreto ou abstrato, ou seja, concreto ou abstrato, ou seja, que exista fisicamente ou que exista fisicamente ou apenas conceitualmente.apenas conceitualmente.

Page 23: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

23

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

São exemplos de objetos: aluno, professor, São exemplos de objetos: aluno, professor, mesa, cadeira, caneta, automóvel, mesa, cadeira, caneta, automóvel, disciplina, estoque, avaliação, seguro, disciplina, estoque, avaliação, seguro, janela do Windows, botão, caixa de janela do Windows, botão, caixa de diálogo, etc. Isto significa que ao diálogo, etc. Isto significa que ao modelarmos um sistema baseado no modelarmos um sistema baseado no paradigma da orientação a objetos, nada paradigma da orientação a objetos, nada mais estamos fazendo do que modelar os mais estamos fazendo do que modelar os conceitos existentes em nosso cotidiano.conceitos existentes em nosso cotidiano.

São exemplos de objetos: aluno, professor, São exemplos de objetos: aluno, professor, mesa, cadeira, caneta, automóvel, mesa, cadeira, caneta, automóvel, disciplina, estoque, avaliação, seguro, disciplina, estoque, avaliação, seguro, janela do Windows, botão, caixa de janela do Windows, botão, caixa de diálogo, etc. Isto significa que ao diálogo, etc. Isto significa que ao modelarmos um sistema baseado no modelarmos um sistema baseado no paradigma da orientação a objetos, nada paradigma da orientação a objetos, nada mais estamos fazendo do que modelar os mais estamos fazendo do que modelar os conceitos existentes em nosso cotidiano.conceitos existentes em nosso cotidiano.

Page 24: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

24

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Os objetos possuem características Os objetos possuem características ou propriedades que são seus ou propriedades que são seus atributos. Esses atributos identificam atributos. Esses atributos identificam o estado de um objeto. Um atributo é o estado de um objeto. Um atributo é uma abstração do tipo de dados ou uma abstração do tipo de dados ou estado que os objetos da classe estado que os objetos da classe possuem. Vejamos o exemplo da possuem. Vejamos o exemplo da Figura abaixo:Figura abaixo:

Os objetos possuem características Os objetos possuem características ou propriedades que são seus ou propriedades que são seus atributos. Esses atributos identificam atributos. Esses atributos identificam o estado de um objeto. Um atributo é o estado de um objeto. Um atributo é uma abstração do tipo de dados ou uma abstração do tipo de dados ou estado que os objetos da classe estado que os objetos da classe possuem. Vejamos o exemplo da possuem. Vejamos o exemplo da Figura abaixo:Figura abaixo:

Page 25: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

25

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Atributos do objeto Joana:

Nome: Joana Souza

Endereço: Rua Santa Cecília, 1000

Sexo: Feminino

Altura: 1,75 m

Peso: 60 Kg

Estado Civil: Solteira

Cor dos olhos: verdes

Cor dos cabelos: castanhos

etc.

Page 26: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

26

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Tipicamente, identificamos e Tipicamente, identificamos e diferenciamos objetos por seus atributos. diferenciamos objetos por seus atributos. Podemos fazer uma brincadeira: a cada Podemos fazer uma brincadeira: a cada atributo que eu relacionar, tentem atributo que eu relacionar, tentem identificar possíveis objetos. Vocês vão identificar possíveis objetos. Vocês vão perceber que ao obtermos um conjunto perceber que ao obtermos um conjunto maior de atributos, podemos mais maior de atributos, podemos mais precisamente identificar o objeto.precisamente identificar o objeto.

Tipicamente, identificamos e Tipicamente, identificamos e diferenciamos objetos por seus atributos. diferenciamos objetos por seus atributos. Podemos fazer uma brincadeira: a cada Podemos fazer uma brincadeira: a cada atributo que eu relacionar, tentem atributo que eu relacionar, tentem identificar possíveis objetos. Vocês vão identificar possíveis objetos. Vocês vão perceber que ao obtermos um conjunto perceber que ao obtermos um conjunto maior de atributos, podemos mais maior de atributos, podemos mais precisamente identificar o objeto.precisamente identificar o objeto.

Page 27: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

27

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Vamos considerar a lista de Vamos considerar a lista de atributos: nome, endereço, data atributos: nome, endereço, data de nascimento (até agora posso de nascimento (até agora posso estar falando de um funcionário, estar falando de um funcionário, aluno ou até mesmo um animal aluno ou até mesmo um animal de estimação), especialização, de estimação), especialização, CRM. CRM.

Vamos considerar a lista de Vamos considerar a lista de atributos: nome, endereço, data atributos: nome, endereço, data de nascimento (até agora posso de nascimento (até agora posso estar falando de um funcionário, estar falando de um funcionário, aluno ou até mesmo um animal aluno ou até mesmo um animal de estimação), especialização, de estimação), especialização, CRM. CRM.

Page 28: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

28

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Além dos atributos, os objetos possuem Além dos atributos, os objetos possuem comportamentos que modificam seu comportamentos que modificam seu estado ou prestam serviços a outros estado ou prestam serviços a outros objetos. Nesse caso, estamos falando de objetos. Nesse caso, estamos falando de suas operações. Se um funcionário possui suas operações. Se um funcionário possui o atributo Salário, este deve ser o atributo Salário, este deve ser atualizado por operações do tipo atualizado por operações do tipo Reajustar Salário.Reajustar Salário.

Além dos atributos, os objetos possuem Além dos atributos, os objetos possuem comportamentos que modificam seu comportamentos que modificam seu estado ou prestam serviços a outros estado ou prestam serviços a outros objetos. Nesse caso, estamos falando de objetos. Nesse caso, estamos falando de suas operações. Se um funcionário possui suas operações. Se um funcionário possui o atributo Salário, este deve ser o atributo Salário, este deve ser atualizado por operações do tipo atualizado por operações do tipo Reajustar Salário.Reajustar Salário.

Page 29: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

29

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Utilizamos de forma conjunta Utilizamos de forma conjunta o conceito de métodos. Um o conceito de métodos. Um método é a implementação de método é a implementação de uma operação, ou seja, sua uma operação, ou seja, sua representação em código.representação em código.

Utilizamos de forma conjunta Utilizamos de forma conjunta o conceito de métodos. Um o conceito de métodos. Um método é a implementação de método é a implementação de uma operação, ou seja, sua uma operação, ou seja, sua representação em código.representação em código.

Page 30: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

30

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

At r ibut os:NomeCargo:Salário:Data de Admissão:

: J orge Antônio Gerente

R$ 20.000,00 15/06/1998

Oper açõesReajustar SalárioObter Salário L íquidoObter Tempo de TrabalhoObter tempo de contribuição do I NSS

o

Page 31: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

31

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Os métodos de uma classe manipulam somente Os métodos de uma classe manipulam somente as estruturas de dados daquela classe, ou seja, as estruturas de dados daquela classe, ou seja, não podem acessar diretamente os dados de não podem acessar diretamente os dados de outra classe. outra classe.

Os métodos de uma classe manipulam somente Os métodos de uma classe manipulam somente as estruturas de dados daquela classe, ou seja, as estruturas de dados daquela classe, ou seja, não podem acessar diretamente os dados de não podem acessar diretamente os dados de outra classe. outra classe.

Page 32: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

32

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Um objeto possui limites nítidos Um objeto possui limites nítidos com relação ao problema em com relação ao problema em estudo. Na modelagem, quando estudo. Na modelagem, quando pensamos em um objeto, pensamos em um objeto, devemos fazê-Io dentro de um devemos fazê-Io dentro de um determinado contexto.determinado contexto.

Um objeto possui limites nítidos Um objeto possui limites nítidos com relação ao problema em com relação ao problema em estudo. Na modelagem, quando estudo. Na modelagem, quando pensamos em um objeto, pensamos em um objeto, devemos fazê-Io dentro de um devemos fazê-Io dentro de um determinado contexto.determinado contexto.

Page 33: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

33

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Devemos abstrair as informações Devemos abstrair as informações de um objeto dentro do papel de um objeto dentro do papel que ele exercerá num que ele exercerá num determinado sistema, ou seja, determinado sistema, ou seja, seu ambiente determinará o seu ambiente determinará o limite da modelagem de cada limite da modelagem de cada objeto.objeto.

Devemos abstrair as informações Devemos abstrair as informações de um objeto dentro do papel de um objeto dentro do papel que ele exercerá num que ele exercerá num determinado sistema, ou seja, determinado sistema, ou seja, seu ambiente determinará o seu ambiente determinará o limite da modelagem de cada limite da modelagem de cada objeto.objeto.

Page 34: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

34

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Se pensarmos em todos os atributos que Se pensarmos em todos os atributos que identificam uma pessoa, chegaremos a identificam uma pessoa, chegaremos a um número considerável. Todavia se um número considerável. Todavia se modelarmos um objeto Pessoa no papel modelarmos um objeto Pessoa no papel de um aluno, não precisaremos incluir de um aluno, não precisaremos incluir atributos do tipo: altura, peso, cor dos atributos do tipo: altura, peso, cor dos olhos, cor da pele e muitos outros.olhos, cor da pele e muitos outros.

Se pensarmos em todos os atributos que Se pensarmos em todos os atributos que identificam uma pessoa, chegaremos a identificam uma pessoa, chegaremos a um número considerável. Todavia se um número considerável. Todavia se modelarmos um objeto Pessoa no papel modelarmos um objeto Pessoa no papel de um aluno, não precisaremos incluir de um aluno, não precisaremos incluir atributos do tipo: altura, peso, cor dos atributos do tipo: altura, peso, cor dos olhos, cor da pele e muitos outros.olhos, cor da pele e muitos outros.

Page 35: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

35

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Todavia, se estivermos Todavia, se estivermos falando do aluno de uma falando do aluno de uma escola para modelos e escola para modelos e manequins, esses atributos manequins, esses atributos serão relevantes.serão relevantes.

Todavia, se estivermos Todavia, se estivermos falando do aluno de uma falando do aluno de uma escola para modelos e escola para modelos e manequins, esses atributos manequins, esses atributos serão relevantes.serão relevantes.

Page 36: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

36

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

ClassesClasses

Quando identificamos características e Quando identificamos características e operações similares em objetos distintos, operações similares em objetos distintos, estamos realizando sua classificação, ou seja, estamos realizando sua classificação, ou seja, identificando classes. identificando classes. Uma classe é a representação de um conjunto Uma classe é a representação de um conjunto de objetos que compartilham a mesma de objetos que compartilham a mesma estrutura de atributos, operações e estrutura de atributos, operações e relacionamentos, dentro de um mesmo relacionamentos, dentro de um mesmo contexto (semântica).contexto (semântica).

ClassesClasses

Quando identificamos características e Quando identificamos características e operações similares em objetos distintos, operações similares em objetos distintos, estamos realizando sua classificação, ou seja, estamos realizando sua classificação, ou seja, identificando classes. identificando classes. Uma classe é a representação de um conjunto Uma classe é a representação de um conjunto de objetos que compartilham a mesma de objetos que compartilham a mesma estrutura de atributos, operações e estrutura de atributos, operações e relacionamentos, dentro de um mesmo relacionamentos, dentro de um mesmo contexto (semântica).contexto (semântica).

Page 37: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

37

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Assim, uma classe especifica a Assim, uma classe especifica a estrutura de um objeto sem informar estrutura de um objeto sem informar quais serão seus valores. Em quais serão seus valores. Em contrapartida, um objeto contrapartida, um objeto corresponde à ocorrência (instância) corresponde à ocorrência (instância) de uma classe num determinado de uma classe num determinado momento. Por exemplo: momento. Por exemplo:

Assim, uma classe especifica a Assim, uma classe especifica a estrutura de um objeto sem informar estrutura de um objeto sem informar quais serão seus valores. Em quais serão seus valores. Em contrapartida, um objeto contrapartida, um objeto corresponde à ocorrência (instância) corresponde à ocorrência (instância) de uma classe num determinado de uma classe num determinado momento. Por exemplo: momento. Por exemplo:

Page 38: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

38

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Obj et o J oanaNomeSexo:Data de Nascimento:Estado Civi l:

: J oana Souza Feminino

01/03/1978 Solteira

Cl asse pessoaNomeSexo

Data de NascimentoEstado civi l

É do tipo

Page 39: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

39

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Num sistema, trabalhamos com as Num sistema, trabalhamos com as instâncias de uma classe (os objetos instâncias de uma classe (os objetos criados a partir desta classe). Os criados a partir desta classe). Os dados são carregados nas instâncias. dados são carregados nas instâncias. Para exemplificar, pense num Para exemplificar, pense num formulário de inscrição.formulário de inscrição.

Num sistema, trabalhamos com as Num sistema, trabalhamos com as instâncias de uma classe (os objetos instâncias de uma classe (os objetos criados a partir desta classe). Os criados a partir desta classe). Os dados são carregados nas instâncias. dados são carregados nas instâncias. Para exemplificar, pense num Para exemplificar, pense num formulário de inscrição.formulário de inscrição.

Page 40: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

40

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

A secretária de uma A secretária de uma empresa cuidadosamente empresa cuidadosamente desenha esse formulário desenha esse formulário para ser preenchido pelos para ser preenchido pelos clientes, criando uma clientes, criando uma matriz. matriz.

A secretária de uma A secretária de uma empresa cuidadosamente empresa cuidadosamente desenha esse formulário desenha esse formulário para ser preenchido pelos para ser preenchido pelos clientes, criando uma clientes, criando uma matriz. matriz.

Page 41: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

41

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Todavia, o que lhes é entregue é Todavia, o que lhes é entregue é uma xerox dessa matriz e não a uma xerox dessa matriz e não a original. O mesmo acontece com as original. O mesmo acontece com as classes e objetos. As classes classes e objetos. As classes funcionam como matrizes. Os funcionam como matrizes. Os objetos (suas instâncias) é que objetos (suas instâncias) é que possuem vida própria. Sendo assim, possuem vida própria. Sendo assim, temos, por exemplo:temos, por exemplo:

Todavia, o que lhes é entregue é Todavia, o que lhes é entregue é uma xerox dessa matriz e não a uma xerox dessa matriz e não a original. O mesmo acontece com as original. O mesmo acontece com as classes e objetos. As classes classes e objetos. As classes funcionam como matrizes. Os funcionam como matrizes. Os objetos (suas instâncias) é que objetos (suas instâncias) é que possuem vida própria. Sendo assim, possuem vida própria. Sendo assim, temos, por exemplo:temos, por exemplo:

Page 42: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

42

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Classe Objetos

Funcionário Funcionária Ana Cristina

Funcionário Gustavo

Empresa Empresa Casa de Festas ABC

Empresa Software Ltda

Veículo Veículo Corolla

Veículo Vectra

Page 43: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

43

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Uma classe pode ter qualquer Uma classe pode ter qualquer número de atributos ou número de atributos ou mesmo nenhum atributo. Da mesmo nenhum atributo. Da mesma forma, pode ter mesma forma, pode ter qualquer número de qualquer número de operações ou mesmo operações ou mesmo nenhuma operação.nenhuma operação.

Uma classe pode ter qualquer Uma classe pode ter qualquer número de atributos ou número de atributos ou mesmo nenhum atributo. Da mesmo nenhum atributo. Da mesma forma, pode ter mesma forma, pode ter qualquer número de qualquer número de operações ou mesmo operações ou mesmo nenhuma operação.nenhuma operação.

Page 44: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

44

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Classe Conta em um sistema bancário

Nome

Atributos

Métodos

Page 45: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

45

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Resumindo Classe e Objeto

Page 46: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

46

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 47: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

47

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 48: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

48

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 49: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

49

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

A interface serve como intermediária A interface serve como intermediária entre a classe e o mundo externo, entre a classe e o mundo externo, protegendo os usuários dessa classe protegendo os usuários dessa classe de quaisquer alterações futuras. As de quaisquer alterações futuras. As alterações na classe são feitas de alterações na classe são feitas de modo transparente para o usuário.modo transparente para o usuário.

A interface serve como intermediária A interface serve como intermediária entre a classe e o mundo externo, entre a classe e o mundo externo, protegendo os usuários dessa classe protegendo os usuários dessa classe de quaisquer alterações futuras. As de quaisquer alterações futuras. As alterações na classe são feitas de alterações na classe são feitas de modo transparente para o usuário.modo transparente para o usuário.

Page 50: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

50

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 51: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

51

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

O conceito de encapsulamento é visto O conceito de encapsulamento é visto também de outro ângulo. Determina que também de outro ângulo. Determina que os atributos só podem ser acessados e os atributos só podem ser acessados e atualizados pelas operações do objeto. atualizados pelas operações do objeto. Todavia, mais importante que o conceito Todavia, mais importante que o conceito é levar em conta que atendemos o é levar em conta que atendemos o encapsulamento quando preservamos encapsulamento quando preservamos informações e operações de cunho informações e operações de cunho privado, do conhecimento externo.privado, do conhecimento externo.

O conceito de encapsulamento é visto O conceito de encapsulamento é visto também de outro ângulo. Determina que também de outro ângulo. Determina que os atributos só podem ser acessados e os atributos só podem ser acessados e atualizados pelas operações do objeto. atualizados pelas operações do objeto. Todavia, mais importante que o conceito Todavia, mais importante que o conceito é levar em conta que atendemos o é levar em conta que atendemos o encapsulamento quando preservamos encapsulamento quando preservamos informações e operações de cunho informações e operações de cunho privado, do conhecimento externo.privado, do conhecimento externo.

Page 52: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

52

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 53: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

53

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 54: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

54

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

No desenho anterior temos uma classe No desenho anterior temos uma classe mais genérica (mais genérica (Conta_ComumConta_Comum), chamada ), chamada de classe-mãe ou superclasse, contendo de classe-mãe ou superclasse, contendo atributos que servem a qualquer atributos que servem a qualquer situação. A partir dessa classe criamos situação. A partir dessa classe criamos outras mais específicas outras mais específicas (Conta_Especial e (Conta_Especial e Conta_Poupança)Conta_Poupança), chamadas classes-, chamadas classes-filhas ou subclasses.filhas ou subclasses.Estamos diante dos conceitos de Estamos diante dos conceitos de generalização e especialização.generalização e especialização.

No desenho anterior temos uma classe No desenho anterior temos uma classe mais genérica (mais genérica (Conta_ComumConta_Comum), chamada ), chamada de classe-mãe ou superclasse, contendo de classe-mãe ou superclasse, contendo atributos que servem a qualquer atributos que servem a qualquer situação. A partir dessa classe criamos situação. A partir dessa classe criamos outras mais específicas outras mais específicas (Conta_Especial e (Conta_Especial e Conta_Poupança)Conta_Poupança), chamadas classes-, chamadas classes-filhas ou subclasses.filhas ou subclasses.Estamos diante dos conceitos de Estamos diante dos conceitos de generalização e especialização.generalização e especialização.

Page 55: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

55

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Você deve estar se perguntando: e Você deve estar se perguntando: e os atributos da superclasse, como os atributos da superclasse, como serão associados à subclasse? É serão associados à subclasse? É simples: pelo mecanismo de simples: pelo mecanismo de herança, presente nas linguagens herança, presente nas linguagens orientadas a objeto. Dizemos que a orientadas a objeto. Dizemos que a classe-filha tem como origem outra classe-filha tem como origem outra classe.classe.

Você deve estar se perguntando: e Você deve estar se perguntando: e os atributos da superclasse, como os atributos da superclasse, como serão associados à subclasse? É serão associados à subclasse? É simples: pelo mecanismo de simples: pelo mecanismo de herança, presente nas linguagens herança, presente nas linguagens orientadas a objeto. Dizemos que a orientadas a objeto. Dizemos que a classe-filha tem como origem outra classe-filha tem como origem outra classe.classe.

Page 56: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

56

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Desta forma, pela herança, Desta forma, pela herança, codificamos apenas os atributos e codificamos apenas os atributos e operações específicos da classe operações específicos da classe descendente, e fazemos com que descendente, e fazemos com que esta receba, automaticamente, e esta receba, automaticamente, e sem qualquer esforço, os atributos e sem qualquer esforço, os atributos e operações de todas as classes operações de todas as classes ancestrais.ancestrais.

Desta forma, pela herança, Desta forma, pela herança, codificamos apenas os atributos e codificamos apenas os atributos e operações específicos da classe operações específicos da classe descendente, e fazemos com que descendente, e fazemos com que esta receba, automaticamente, e esta receba, automaticamente, e sem qualquer esforço, os atributos e sem qualquer esforço, os atributos e operações de todas as classes operações de todas as classes ancestrais.ancestrais.

Page 57: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

57

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Pela herança podemos estabelecer Pela herança podemos estabelecer relações entre classes, permitindo o relações entre classes, permitindo o compartilhamento de atributos e compartilhamento de atributos e operações semelhantes. Assim, temos a operações semelhantes. Assim, temos a flexibilidade de criar uma nova classe, flexibilidade de criar uma nova classe, incluindo somente as diferenças com incluindo somente as diferenças com relação à classe mais genérica. relação à classe mais genérica.

Pela herança podemos estabelecer Pela herança podemos estabelecer relações entre classes, permitindo o relações entre classes, permitindo o compartilhamento de atributos e compartilhamento de atributos e operações semelhantes. Assim, temos a operações semelhantes. Assim, temos a flexibilidade de criar uma nova classe, flexibilidade de criar uma nova classe, incluindo somente as diferenças com incluindo somente as diferenças com relação à classe mais genérica. relação à classe mais genérica.

Page 58: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

58

Conceitos de Orientação a ObjetoConceitos de Orientação a Objeto

Page 59: 1 CONCEITOS DE ORIENTAÇÃO A OBJETOS. 2 Conceitos de Orientação a Objeto Histórico Os conceitos de orientação a objetos vêm sendo discutido há muito tempo,

59

Material desenvolvido pelos professores:Material desenvolvido pelos professores:

Professor Msc Rafael SoaresProfessor Msc Rafael Soares

Professor Msc Sérgio SigristProfessor Msc Sérgio Sigrist

Msc Wladimir da CostaMsc Wladimir da Costa