Vous êtes sur la page 1sur 25

Introduo a

Programao Orientada a
Objetos
Programao em Java

Desenvolvimento de Software tradicional


Programas

Processos

dados

2/32

Enfoque a programas

Viso tradicional usa perspectiva de algoritmo

O principal bloco de construo o procedimento ou


funo

Conduz o foco de ateno para questes referentes ao


controle e a decomposio de algoritmos maiores em
outros menores

Modelagem de dados divide as informaes em tabelas,


criando mecanismos para juno posterior
3/32

Desenvolvimento Orientado a Objetos


Visualiza e representa o mundo real como um
conjunto de objetos que interagem entre si para
que determinadas operaes sejam realizadas.
Motorista

Carro
Parar

4/32

Desenvolvimento Orientado a Objetos

Conta corrente

Objetos do mundo real


transformam-se em objetos no
software.

deposito()
saldo

Programao orientada a objetos


freqentemente referenciada como
um novo paradigma de
programao.

Viabiliza a montagem de sistemas


a partir de componentes.

5/32

Exemplo

Voc resolve jantar numa pizzaria.

Existem vrios objetos na pizzaria:

Pizza
Mesa
Garom, etc....

Cada objeto tem caractersticas que


o descrevem:

Mesa redonda ou retangular


Mesa desocupada ou no

6/32

Criao dos objetos

Desenvolver uma aplicao no paradigma OO implica


em modelar os objetos existentes no mundo real no
sistema em desenvolvimento.

Objetos existentes no mundo real podem ser complexos,


tornando necessrio abstrair as caractersticas
relevantes de cada entidade para o sistema em
desenvolvimento

O processo de abstrao fundamental para o


desenvolvimento de softwares orientados a objetos.

7/32

Abstrao
Eliminao
do
irrelevante e
amplificao
do essencial

8/32

Abstrao

o mecanismo que nos permite representar uma


realidade complexa em termos de um modelo
simplificado, de modo que detalhes irrelevantes possam
ser suprimidos.

Processo de filtragem de detalhes sem importncia do


objeto, para que apenas as caractersticas apropriadas
que o descrevem permaneam.

9/32

Exemplo abstrao

Registros
de oficina
placa, conserto,
pagamento, etc..

Registros
em casa
Km/l,
manuteno, etc
10/32

Registros
Detran
Identificao,
impostos, placa,
etc..

Objetos

Um objeto qualquer coisa, real ou abstrata, sobre a qual


armazenamos dados e operaes que manipulam tais dados

Unidade bsica de modularizao do sistema na abordagem OO

Um objeto um ente independente, composto por:


atributos, isto , caractersticas ou propriedades que definem o objeto
comportamento, isto , um conjunto de aes pr-definidas
(denominada mtodos), atravs das quais o objeto responder
demanda de processamento por parte de outros objetos

11/32

Desenvolvimento tradicional x
orientado a objetos
Programa

Programa

Processos

Classes
Atributos

Dados
Operaes

12/32

Classes

Classes: fbricas de objetos.

Exemplificando, temos que Pessoa uma classe e Joo


um objeto (instncia) da classe Pessoa.

Um carro uma classe; meu carro um objeto.

Objetos similares so agrupados em classes

13/32

Classes Fbrica de objetos.

Definio da classe

14/32

Mensagens

A POO identifica uma abordagem em que o programador visualiza


seu programa em execuo em termos de objetos que se
comunicam atravs de trocas de mensagens

Mensagem - composta por um nome e por parmetros (opcional)


Cliente

Conta
debite(50R$)

15/32

debite

Mensagens

Objetos interagem enviando mensagens uns para os


outros;

O objeto que receber a mensagem responder atravs


da seleo e execuo de um mtodo que faz parte de
seu comportamento;

Aps a execuo, o controle volta para o objeto que


enviou a mensagem.

16/32

Classes e objetos em Java


Estrutura de uma classe em Java

[acesso] class NomeDaClasse


{
Atributos
Construtores
Mtodos

Definio da
classe
O contedo da
classe

17/32

Classes e objetos em Java


Mtodos de uma classe em Java

Definem as operaes que podem ser invocadas em


um objeto.

Podem receber parmetros ou no.


public String getNomeCurso()
public void setNomeCurso(String nome)

O cabealho define a assinatura do mtodo.


18/32

Classes e objetos em Java


Atributos de uma classe em Java

Atributos armazenam valores


para um objeto.
Eles tambm so conhecidos
como variveis de instncias.
Atributos definem o estado
de um objeto.

public class CursoGraduacao {


private String nomeCurso;
private int qtd_periodos;
Construtor e mtodos omitidos.
}

Modificador de
visibilidade

Tipo

Nome da
varivel

private String nomeCurso;


19/32

Exemplo
public class Produto

private int codigo;


private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome_produto) {
nome = nome_produto;
}
}
20/32

Classes e objetos em Java


Construo de objetos em Java

Realizada com a palavra


reservada New.
Processo conhecido como
criao de uma instncia
de uma classe.
Tipo da varivel pode diferir
do objeto realmente criado
(desde que estejam
relacionados por herana).

Declarao do
tipo da varivel

Varivel

Objeto real
criado

Produto p = new Produto();

21/32

Construtores

Da mesma forma que com


variveis comuns,
possvel inicializar um
objeto logo ao constru-lo;

Construtores inicializam
um objeto.

Eles tm o mesmo nome


das suas classes.

Eles freqentemente
recebem valores de
parmetros externos para
definir os atributos.

EX:
public Produto(int cod, String nome_prod)
{
codigo = cod;
nome = nome_prod;
}

int cod = 341278;


String prod = Computador MSX Expert;
Produto p = new Produto(cod, prod);

22/32

Classes e objetos em Java

Construtores:

Pode existir mais de um construtor em uma classe;


Caso no seja definido nenhum construtor, o compilador cria o
construtor padro, sem parmetros;

O construtor padro inicializa os atributos de classe para seus


valores padres.

Caso seja definido qualquer construtor, o construtor padro no


ser adicionado pelo compilador;

Caso se tenha interesse que a classe ainda possua um construtor


sem parmetros, necessrio declar-lo explicitamente.

23/32

A Referncia this

Mtodos de instncia
recebem um argumento
chamado this que uma
referncia ao objeto
corrente.
O uso explcito do this
necessrio quando:
o nome de um parmetro
do mtodo for o mesmo
de uma varivel de
instncia;
desejamos passar uma
referncia do objeto
corrente como parmetro
para outro mtodo.

EX:
Class Produto

private int codigo;


private String nome;
public Produto(int codigo, String nome)
{
this.codigo = codigo;
this.nome = nome;
}

24/32

Introduo a
Programao Orientada a
Objetos
Programao em Java
Prof. Maurcio Braga

Vous aimerez peut-être aussi