Você está na página 1de 21

Fundamentos de Orientao a Objetos Aula 01

Na aula de hoje, veremos ...


Tcnicas de Programao Tradicionais Paradigma orientado a objetos
Histrico, vantagens, conceitos-chave

Objetos

Objetivo da Aula
Aprender os conceitos iniciais do paradigma de Orientao a Objetos

Tcnicas de Programao Tradicionais


As tcnicas de programao tradicionais levam o desenvolvedor a decompor o sistema em partes menores (funes).

Isso cria um emaranhado de inmeras funes que chamam umas s outras.

Tcnicas de Programao Tradicionais


Geralmente no h separao de conceitos e responsabilidades, causando:
Dependncias enormes no sistema; Dificuldades na manuteno do programa; No reaproveitamento de cdigo.

o que pode-se chamar de programao espaguete.

Paradigma Orientao a Objetos


A Orientao a Objetos busca simplificar o processo de programao e minimiza os problemas expostos.

Paradigma Orientao a Objetos


O paradigma da Orientao a Objetos, ou Programao Orientada a Objetos (POO):
Ajuda a definir a estrutura de programas baseada nos conceitos (reais ou abstratos) do mundo real. Permite criar programas componentizados, separando as partes do sistema por responsabilidades e fazendo com que essas partes se comuniquem entre si, por meio de mensagens. Busca raciocinar e solucionar problemas em termos de objetos, associados s entidades do mundo real.

Paradigma Orientao a Objetos


Para a POO, o mundo composto por objetos. Objetos podem representar entidades concretas ou conceituais. Exemplos de objetos:

Paradigma Orientao a Objetos


Gap semntico
Distncia entre o problema no mundo real e o modelo abstrato construdo.

Quanto menor o Gap semntico, mais rpida ser a construo da soluo. POO busca meios de diminuir este Gap.

Paradigma Orientao a Objetos


Linha do Tempo da programao orientada a objetos:
C++: Uma das primeiras linguagens OO com boa performance.

1984
SIMULA67: Introduziu os principais conceitos da POO

1995

Java: Primeira linguagem OO da era da Internet.

1972

1967

SmallTalk-72: Primeiro ambiente grfico para POO

Paradigma Orientao a Objetos


Vantagens da Programao Orientada a Objetos:
Maior extensibilidade; Viabiliza a construo de softwares mais complexos; Facilidade de manuteno; Facilidade maior para modelagem de objetos do mundo real; Maior reuso; Separao das responsabilidades; Aumento da produtividade; Componentizao; Maior flexibilidade do sistema; Escalabilidade, etc.

Paradigma Orientao a Objetos


Conceitos-chave de Orientado a Objeto:
Objeto Mensagem Classe Abstrao Encapsulamento Herana Polimorfismo

Paradigma Orientao a Objetos


Objetos so a chave para se compreender a tecnologia orientada a objetos. Voc olha ao seu redor e tudo o que v so objetos:

Paradigma Orientao a Objetos


Os objetos do mundo real tm duas caractersticas em comum:
Estado e Comportamento.

O estado de um objeto revela seus dados importantes.


Uma pessoa tem: idade, peso, altura, cor de cabelo, cor da pele.

O comportamento de um objeto, so as aes que aquele objeto pode exercer ou executar.


Uma pessoa pode: andar, falar, ouvir, pular.

Paradigma Orientao a Objetos


Objetos podem ser:
Concretos
carro, livro, nota fiscal...

Abstratos:
poupana, conta corrente, venda, pessoa jurdica...

Paradigma Orientao a Objetos


Em OO, os objetos do mundo real so modelados e representados no mundo computacional, por meio de objetos de software. Os objetos de software, assim como os objetos do mundo real, tambm possuem estado e comportamento. Um objeto de software mantm seu estado nas variveis e implementa seu comportamento atravs de seus mtodos (funo ou procedimento). Um objeto um pedao de software que possui variveis (estado) e mtodos (comportamento).

Paradigma Orientao a Objetos


Um sistema pode conter:
Um ou vrios objetos ativos (instncias).

As diferentes instncias possuem seu prprio estado.

Cada instncia de pessoa possui um estado diferente em particular e mtodos (comportamento) que operam sobre o prprio estado.

Paradigma Orientao a Objetos

Um objeto representa uma entidade, unidade ou item identificvel, individual, real ou abstrato, com um papel bem definido no domnio do problema. [Booch, 91]

Objeto fsico

Objeto no fsico

Paradigma Orientao a Objetos


Nem tudo um objeto...
Tempo, mtricas, sensaes e sentimentos humanos... So tratados como propriedades de objetos

Descobrir quais entidades fazem parte do domnio do problema tarefa do programador e dos analistas de sistemas.

Na aula de hoje, vimos ...


Tcnicas de Programao Tradicionais Paradigma orientado a objetos
Histrico, vantagens, conceitos-chave

Objetos

Referncias
BOOCH, Grady. Object Oriented Design with Applications. Benjamin-Cummings, 1991. DEITEL, Harvey; DEITEL, Paul. Java: como programar. 8 ed. So Paulo: Prentice Hall Brasil, 2010 SILVA, D. Tarciana. Linguagem de Programao Orientada a Objetos POO. Notas de Aula.

Você também pode gostar