You are on page 1of 28

Fundamentos da Programao Orientada a Objetos

Prof. Dr. Fabio Santos

Por que devemos estudar POO?


Porque um paradigma de programao muito utilizado no mercado profissional.
As empresas vo exigir de voc:
Conhecimento de POO, experincia em Java, Python, Lua ou C++, banco de dados, programao distribuda, etc.

POO a base de muitas linguagens de programao e plataformas tecnolgicas.


Android, TV Digital, iOS, etc.

Permite desenvolver aplicaes complexas e bastante sofisticadas.

Exemplo de Aplicaes

Por que devemos estudar POO?


Porque o mercado profissional exige a utilizao de linguagens de programao que permitam desenvolver programas de forma mais:
Flexvel; Padronizada; Com maior grau de reuso; Fcil de manter e entender;

Paradigma de Programao
O que um paradigma? um modelo que orienta a forma como programadores de software analisam problemas e definem solues para estes problemas.
Problema

Soluo

Paradigma de Programao

Paradigma Estrutural
Visa identificar um conjunto de operaes necessrio para resolver um problema. Tais operaes podem ser divididas em procedimentos e funes . A ideia principal e decompor o problema em problemas menores atravs de procedimentos e funes que so organizados em mdulos.

Paradigma Estrutural
Limitaes
Mdulos muito dependentes entre si. Dificuldade na reutilizao de cdigo. As mudanas nos mdulos muitas vezes trazem efeitos colaterais inesperados.

Pascal, C, Basic e Fortran so linguagens de programao procedimentais.

Paradigma Orientada a Objetos


Surgiu para prover conceitos poderosos para melhor resolver problemas do mundo real em um ambiente computacional. Alguns benefcios da POO
Reutilizao de cdigo e aumento da produtividade Facilidade em manuteno e extenso Facilidade para anlise e projeto

Paradigma Orientada a Objetos


A primeira linguagem a incorporar as facilidades da POO foi a linguagem Simula, que foi idealizada em 1966, na Noruega, como uma extenso da linguagem ALGOL 60. A linguagem Simula serviu de base para o surgimento de outra importante linguagem chamada de Smalltalk desenvolvida pela Xerox na dcada de 70.

Paradigma Orientada a Objetos


Pressupe que o mundo composto por objetos. Construo de um software envolve a identificao (ou abstrao) de objetos pertencentes ao domnio da aplicao, de tal forma que operaes sobre esses objetos correspondam a operaes do mundo real.

Abstrao
Habilidade humana que permite visualizar imagens, identificar objetos em uma tela ou texto, identificar requisitos, comportamentos etc.

Abstrao
Em termos de POO de sistemas, consiste em identificar quais objetos so relevantes e como eles se relacionam (trocam mensagens) para a resoluo de um problema.

Abstrao
Quantos objetos voc consegue identificar na figura abaixo?

O que so objetos?
Objetos so todas as coisas, fsicas ou abstratas do mundo real, tal como:

O que so objetos?
Para o programador representar esses objetos em um software mais natural do que representar a sua funcionalidade (decomposio funcional).

O que so objetos ?
Os objetos (computacionais) so compostos por:
IDENTIDADE: endereo de memria ATRIBUTOS: definem as caractersticas ou estado do objeto MTODOS: funes que manipulam as caractersticas ou alteram o estado do objeto. Esto relacionados ao comportamento do objetos.

Exemplos de Objetos
Abstrair atributos e mtodos dos objetos:
Conta Bancaria; Carro;

Exemplo de Objeto
Uma conta bancria pode ter os seguintes atributos e mtodos: Atributos
nmero; saldo;

Mtodos
emitir saldo(); efetuar deposito(); efetuar saque();

Exemplo de Objeto
Um carro pode ter os seguintes atributos e mtodos: Atributos
marcha; velocidade; modelo; cor;

Mtodos
mudar marcha(); acelerar(); frear();

Estruturas de Objetos
Objetos tambm podem ser compostos por outros objetos. Isto permite que Objetos Complexos sejam definidos a partir de objetos mais simples. O objeto carro pode ser composto pelo objetos:
Volante; Motor; Roda; CD player;

Abstrao de Objetos
Focalizar o essencial na abstrao dos atributos e mtodos. Abstrair somente os atributos e mtodos relevantes para implementao. Os atributos podem ter de tipos de dados distintos.
String, Int, float, boolean,

Objeto = Tipo Abstrato de Dados (TAD) TAD = Conjunto de atributos e mtodos integrados em uma nica estrutura que ocupa um espao na memria.

Rede de Objetos
A POO uma Programao de TADs, onde o programa consiste em uma rede de objetos que interagem entre si (trocam mensagem). Programa
Objeto 1 Objeto 2

Objeto 3

Objeto 4

Rede de Objetos
Cada objeto responsvel por realizar tarefas especficas e atravs da interao entre objetos que uma soluo computacional obtida.

Representando Objetos em Sistemas Computacionais


Como transportar os objetos abstrados no mundo real para o ambiente computacional?
Temos que implementar classes em programas que do vida a estes objetos em um sistema computacional.

Exerccios
Em que consiste a programao orientada a objetos (POO)? Quais os benefcios da orientao a objetos? Qual a importncia da abstrao na POO? O comportamento de um objeto definido por um conjunto de? As caractersticas ou estado de um objeto correspondem ao conjunto de?

Exerccios
Identifique os comportamentos e atributos de um aluno da UEA sob a perspectiva do controle institucional utilizado no sistema Aluno On-Line.

Exerccios
Faa uma pesquisa sobre os paradigmas da computao e escreva um texto fazendo um comparativo sobre os vrios paradigmas pesquisados. Pesquise pelo o menos 3 exemplos de linguagens de programao orientada a objetos. Os exerccios sero discutidos em sala.

You might also like