Você está na página 1de 53

Introduo a Orientao a Objeto

PROFESSOR Wilton Moreira Ferraz Junior

Os Paradigmas de Desenvolvimento de Sistemas


O que significa um paradigma?
Modelo, padro ou estilo de programao

suportado por linguagens que agrupam certas


caractersticas comuns.

Define a forma como o programador lida com


um determinado problema.

Os Paradigmas de Desenvolvimento de Sistemas


Dcadas de 70 a 80
Anlise Estruturada Diagramas de Fluxo de Dados (DFD) Diagrama Entidade Relacionamento (DER) Diagrama de Contexto (DC)

Dicionrio de Dados (DD)

Os Paradigmas de Desenvolvimento de Sistemas


A partir de meados da dcada de 70 mtodos

orientados a objetos comearam a surgir,


vislumbrando a mudana de paradigma. Iniciou-se a Anlise Orientada a Objeto

Anlise Orientada a Objeto


Uniformizou os modelos usados para anlise Unificao da perspectiva funcional e de dados

Comunicao entre desenvolvedores e


usurios mais fcil

Anlise Orientada a Objeto

Conceitos de Orientao a Objetos


Para entendermos os conceitos de orientao a objetos, vamos comear com duas perguntas fceis Olhe para os automveis da figura abaixo

Conceitos de Orientao a Objetos


Quais caractersticas similares voc identificaria nesses veculos? Modelo Chassis

Cor
Fabricante Ano de fabricao

Placa
Tipo de combustvel Nmero de portas

Conceitos de Orientao a Objetos


Como se calcula um seguro total para cada um desses veculos?
Ah! Depende, certo?
Para qual seguradora vamos realizar esse clculo? Qual sexo do segurado? O segurado tem garagem? Qual faixa etria do segurado?

Conceitos de Orientao a Objetos


A modelagem estruturada concentra-se nas

funcionalidades de um sistema.
Mdulos distintos atuavam diretamente sobre as bases de dados. Alterao nas bases afetam diversos mdulos. Erros advindos dessas alteraes eram

descobertos tempos depois.

Conceitos de Orientao a Objetos


A grande vantagem que obtemos com a orientao a objetos o fato de podermos abstrair de uma maneira mais fidedigna as situaes do dia a dia.

Conceitos de Orientao a Objetos


Exercitamos a percepo de um bebe fornecendo-lhe objetos de cores, texturas ou formatos diferentes. Essa percepo nos

acompanha durante toda a vida.

Conceitos de Orientao a Objetos


Passamos a identificar os objetos por suas caractersticas e comportamentos.

Conceitos de Orientao a Objetos


Na concepo de modelagem de sistemas, um objeto qualquer coisa existente no mundo real. em formato concreto ou abstrato, ou seja, que exista fisicamente ou apenas conceitualmente.

Conceitos de Orientao a Objetos


So exemplos de objetos: aluno, professor,

mesa, cadeira, canela, automvel, disciplina,


estoque, avaliao, seguro, janela do Windows, boto, caixa de dilogo, etc.

Conceitos de Orientao a Objetos


Isto significa que ao modelarmos um

sistema baseado no paradigma da


orientao a objetos, nada mais estamos fazendo do que modelar os conceitos existentes em nosso cotidiano.

Conceitos de Orientao a Objetos


Os objetos possuem caractersticas ou

propriedades que so seus atributos. Esses


atributos identificam o estado de um objeto.

Conceitos de Orientao a Objetos


Um atributo uma abstrao do tipo de dados ou estado que os objetos da classe possuem.

Conceitos de Orientao a Objetos


Tipicamente, identificamos e diferenciamos objetos por seus atributos. Podemos fazer uma brincadeira: a cada atributo que eu relacionar, tentem identificar possveis objetos.

Conceitos de Orientao a Objetos


Vocs vo perceber que ao obtermos um conjunto maior de atributos, podemos mais precisamente identificar o objeto.

Conceitos de Orientao a Objetos


Vamos considerar a lista de atributos: Nome

Endereo
Data de nascimento

CRM

Conceitos de Orientao a Objetos


Vamos considerar a lista de atributos: Nome

Endereo
Data de nascimento

CRM

Conceitos de Orientao a Objetos


Alm dos atributos, os objetos possuem comportamentos que modificam seu estado ou prestam servios a outros objetos. Nesse caso, estamos falando de suas operaes.

Conceitos de Orientao a Objetos


O funcionrio possui o atributo Salrio, este deve ser
atualizado por operaes do tipo Reajustar Salrio

Conceitos de Orientao a Objetos


Essas operaes so denominadas mtodos que so a implementao das mesmas, ou seja, sua representao em cdigo.

Conceitos de Orientao a Objetos


Os mtodos de uma classe manipulam
somente as estruturas de dados daquela

classe, ou seja, no podem acessar


diretamente os dados de outra classe.

Conceitos de Orientao a Objetos


Uma classe tem conhecimento dos dados de
outra pela solicitao de servios (execuo

de operaes). Esta solicitao denomina-se


mensagem.

Conceitos de Orientao a Objetos


Um objeto possui limites ntidos com relao
ao problema em estudo. Na modelagem,

quando pensamos em um objeto, devemos


faz-lo dentro de um determinado contexto.

Conceitos de Orientao a Objetos


Devemos abstrair as informaes de um
objeto dentro do papel que ele exercer

num determinado sistema, ou seja, seu


ambiente determinar o limite da modelagem de cada objeto.

Conceitos de Orientao a Objetos


Se pensarmos em todos os atributos que
identificam uma pessoa, chegaremos a um

nmero considervel.

Conceitos de Orientao a Objetos


Todavia, se modelarmos um objeto Pessoa

no papel de um aluno, no precisaremos


incluir atributos do tipo: altura, peso, cor dos olhos, cor da pele e muitos outros.

Conceitos de Orientao a Objetos


Todavia, se estivermos falando do aluno de uma escola para modelos e manequins,

esses atributos sero relevantes.

Conceitos de Orientao a Objetos


Todos os objetos tem identidade e so diferentes uns dos outros, pois ocupam espaos distintos. O termo identidade significa que os objetos se distinguem por sua prpria existncia e no pelos valores de seus atributos.

Conceitos de Orientao a Objetos


Por exemplo: numa linha de montagem so produzidos 100 lpis, com as mesmas caractersticas, mas todos possuem identidades diferentes, pois fisicamente so diferentes.

Conceitos de Orientao a Objetos


Com a atual demanda de aplicaes grficas, comum a modelagem ou manipulao de objetos como: janelas, botes, menus, caixas de dilogo, entre tantos outros componentes.

Conceitos de Orientao a Objetos


Seguindo por esta linha de raciocnio, vamos exercitar sua capacidade de abstrao. Pense numa figura geomtrica,

como o retngulo, para ser usado num


programa grfico.

Conceitos de Orientao a Objetos


Identifique atributos e operaes para este
objeto:
Altura Largura cor da linha

tipo da linha
cor de preenchimento

Conceitos de Orientao a Objetos


Quais operaes existem para esse objeto?
Desenhar Pintar Mudar Cor da Linha Mudar Tipo da Linha

Redimensionar
Mover

Conceitos de Orientao a Objetos


Repare que essas aes so quase sempre

autoexecutveis, ou seja, o retngulo no


vai desenhar algo. e sim desenhar a si prprio. Ele que conhece melhor do que ningum como ser desenhado.

Conceito de Classe
Quando identificamos caractersticas e

operaes similares em objetos distintos,


estamos realizando sua classificao, ou seja, identificando classes.

Conceito de Classe
Uma classe a representao de um

conjunto de objetos que compartilham a


mesma estrutura de atributos, operaes c relacionamentos, dentro de um mesmo contexto (semntica).

Conceito de Classe
Assim, uma classe especifica a estrutura de

um objeto sem informar quais sero seus


valores. Em contrapartida, um objeto corresponde ocorrncia (instncia) de uma classe num determinado momento.

Conceito de Classe
Exemplo:

Conceito de Classe
Num sistema, trabalhamos com as

instncias de uma classe (os objetos


criados a partir desta classe). Os dados so carregados nas instncias.

Conceito de Classe
Para exemplificar, pense num formulrio de

inscrio. A secretria de uma empresa


cuidadosamente desenha esse formulrio para ser preenchido pelos clientes, criando uma matriz.

Conceito de Classe
Todavia, o que lhes entregue uma

xerox dessa matriz e no a original. O


mesmo acontece com as classes e objetos. As classes funcionam como matrizes.

Conceito de Classe
Os objetos (suas instncias) que possuem vida prpria. Sendo assim, temos por exemplo:

Encapsulamento
A ideia do Encapsulamento nos remete ao
fato de que a utilizao de um sistema

orientado a objetos no deve depender de


sua implementao interna, sim de sua interface.

Encapsulamento
O Encapsulamento se constitui numa das
principais vantagens da orientao a

objetos.

Encapsulamento
Uma vez que as classes tenham sido
abstradas de um determinado problema,

h a necessidade de proteger seus


atributos e algumas operaes, utilizando a interface da classe.

Encapsulamento
Essa proteo obtida pelo Encapsulamento. A interface serve como intermediria entre a

classe e o mundo externo, protegendo os


usurios dessa classe de quaisquer alteraes futuras. As alteraes na classe so feitas de modo transparente para o usurio.

Encapsulamento

Encapsulamento
O conceito de encapsulamento visto tambm de outro ngulo. Determina que os

atributos s podem ser acessados e


atualizados pelas operaes do objeto. Assim, os objetos colaboradores interagem pela solicitao de servios (mensagens).

Você também pode gostar