Você está na página 1de 21

Fundamentos de Orientação a

Objetos

Aula 01

Na aula de hoje, veremos

Técnicas de Programação Tradicionais

Paradigma orientado a objetos

Histórico, vantagens, conceitos-chave

Objetos

Objetivo da Aula

Aprender os conceitos iniciais do paradigma

de Orientação a Objetos

Técnicas de Programação Tradicionais

As técnicas de programação tradicionais levam o

desenvolvedor a decompor o sistema em partes menores (funções).

a decompor o sistema em partes menores (funções). • Isso cria um emaranhado de inúmeras funções
a decompor o sistema em partes menores (funções). • Isso cria um emaranhado de inúmeras funções
a decompor o sistema em partes menores (funções). • Isso cria um emaranhado de inúmeras funções
a decompor o sistema em partes menores (funções). • Isso cria um emaranhado de inúmeras funções

Isso cria um emaranhado de inúmeras funções

que chamam umas às outras.

Técnicas de Programação Tradicionais

Geralmente não há separação de conceitos e

responsabilidades, causando:

Dependências enormes no sistema;

Dificuldades na manutenção do programa;

Não reaproveitamento de código.

É o que pode-se chamar de programação “espaguete”.

do programa; – Não reaproveitamento de código. • É o que pode-se chamar de programação “espaguete”.

Paradigma Orientação a Objetos

A Orientação a Objetos busca simplificar o

processo de programação e minimiza os problemas expostos.

Paradigma Orientação a Objetos

O paradigma da Orientação a Objetos, ou

Programação 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 Orientação a Objetos

Para a POO, o mundo é composto por objetos.

Objetos podem representar entidades concretas ou conceituais.

Exemplos de objetos:

é composto por objetos. • Objetos podem representar entidades concretas ou conceituais. • Exemplos de objetos:
é composto por objetos. • Objetos podem representar entidades concretas ou conceituais. • Exemplos de objetos:
é composto por objetos. • Objetos podem representar entidades concretas ou conceituais. • Exemplos de objetos:
é composto por objetos. • Objetos podem representar entidades concretas ou conceituais. • Exemplos de objetos:

Paradigma Orientação a Objetos

Gap semântico

Distância entre o problema no mundo real e o modelo abstrato construído.

Quanto menor o Gap semântico, mais rápida

será a construção da solução.

POO busca meios de diminuir este Gap.

Quanto menor o Gap semântico, mais rápida será a construção da solução. • POO busca meios

Paradigma Orientação a Objetos

Linha do Tempo da programação orientada a

objetos: C++: Uma das primeiras linguagens OO com boa performance. 1995 1984 Java: Primeira linguagem
objetos:
C++: Uma das
primeiras linguagens
OO com boa
performance.
1995
1984 Java: Primeira linguagem
OO da era da Internet.
1972
SIMULA67: Introduziu
os principais conceitos
da POO
SmallTalk-72: Primeiro
ambiente gráfico para
POO
1967

Paradigma Orientação a Objetos

Vantagens da Programação Orientada a Objetos:

Maior extensibilidade;

Viabiliza a construção de softwares mais complexos;

Facilidade de manutenção;

Facilidade maior para modelagem de objetos do mundo

real;

Maior reuso;

Separação das responsabilidades;

Aumento da produtividade;

Componentização;

Maior flexibilidade do sistema;

Escalabilidade, etc.

Paradigma Orientação a Objetos

Conceitos-chave de Orientado a Objeto:

Objeto

Mensagem

Classe

Abstração

Encapsulamento

Herança

Polimorfismo

Paradigma Orientação a Objetos

Objetos são a chave para se compreender a

tecnologia orientada a objetos.

Você olha ao seu redor e tudo o que vê são objetos:

chave para se compreender a tecnologia orientada a objetos. • Você olha ao seu redor e

Paradigma Orientação a Objetos

Os objetos do mundo real têm duas características

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, são as ações que

aquele objeto pode exercer ou executar.

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

Paradigma Orientação a Objetos

Objetos podem ser:

Concretos

carro, livro, nota fiscal

Abstratos:

poupança, conta corrente, venda, pessoa jurídica

ser: – Concretos • carro, livro, nota fiscal – Abstratos: • poupança, conta corrente, venda, pessoa

Paradigma Orientação a Objetos

Em OO, os objetos do mundo real são modelados e

representados no mundo computacional, por meio de objetos de software.

Os objetos de software, assim como os objetos do mundo real, também possuem estado e

comportamento.

Um objeto de software mantém seu estado nas variáveis e implementa seu comportamento através de seus métodos (função ou procedimento).

Um objeto é um pedaço de software que possui variáveis (estado) e métodos (comportamento).
Um objeto é um pedaço de software que possui
variáveis (estado) e métodos (comportamento).

Paradigma Orientação a Objetos

Um sistema pode conter:

Um ou vários objetos ativos ( instâncias).

As diferentes instâncias possuem seu próprio estado.

As diferentes instâncias possuem seu próprio estado. Cada instância de pessoa possui um estado diferente em

Cada instância de pessoa possui um estado diferente em particular e métodos (comportamento) que operam sobre o próprio estado.

Paradigma Orientação a Objetos

“Um objeto representa uma entidade, unidade ou item identificável, individual, real ou abstrato, com um
“Um objeto representa uma entidade, unidade ou item
identificável, individual, real ou abstrato, com um
papel bem definido no domínio do problema.” [Booch, 91]
um papel bem definido no domínio do problema.” [Booch, 91] O b j e t o

Objeto físico

um papel bem definido no domínio do problema.” [Booch, 91] O b j e t o

Objeto não físico

Paradigma Orientação a Objetos

Nem tudo é um objeto

Tempo, métricas, sensações e sentimentos humanos

São tratados como propriedades de objetos

Descobrir quais entidades fazem parte do

domínio do problema é tarefa do programador e dos analistas de sistemas.

Na aula de hoje, vimos

Técnicas de Programação Tradicionais

Paradigma orientado a objetos

Histórico, vantagens, conceitos-chave

Objetos

Referências

BOOCH, Grady. Object Oriented Design with

Applications. Benjamin-Cummings, 1991.

DEITEL, Harvey; DEITEL, Paul. Java: como programar. 8ª ed. São Paulo: Prentice Hall Brasil,

2010

SILVA, D. Tarciana. Linguagem de Programação Orientada a Objetos POO. Notas de Aula.