Você está na página 1de 25

Introdução a

Programação Orientada a
Objetos

Programação em Java

Prof. Maurício Braga


Desenvolvimento de Software tradicional

Programas

Processos

dados
Enfoque a programas

 Visão tradicional usa perspectiva de algoritmo

 O principal bloco de construção é o procedimento ou


função

 Conduz o foco de atenção para questões referentes ao


controle e a decomposição de algoritmos maiores em
outros menores

 Modelagem de dados divide as informações em tabelas,


criando mecanismos para junção posterior
Desenvolvimento Orientado a Objetos
Visualiza e representa o mundo real como um
conjunto de objetos que interagem entre si para
que determinadas operações sejam realizadas.

Motorista Carro
Parar
Desenvolvimento Orientado a Objetos
Conta corrente
 Objetos do mundo real
transformam-se em objetos no deposito()
software.
saldo

 Programação orientada a objetos é


freqüentemente referenciada como
um “novo” paradigma de
programação.

 Viabiliza a montagem de sistemas


a partir de componentes.
Exemplo

 Você resolve jantar numa pizzaria.

 Existem vários objetos na pizzaria:


 Pizza
 Mesa
 Garçom, etc....

 Cada objeto tem características


que o descrevem:
 Mesa redonda ou retangular
 Mesa desocupada ou não
Criação dos objetos

 Desenvolver uma aplicação 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 necessário abstrair as características
relevantes de cada entidade para o sistema em
desenvolvimento

 O processo de abstração é fundamental para o


desenvolvimento de softwares orientados a objetos.
Abstração

Eliminação
do
irrelevante e
amplificação
do essencial
Abstração

 É 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 importância do


objeto, para que apenas as características apropriadas
que o descrevem permaneçam.
Exemplo – abstração

Registros Registros Registros


de oficina em casa Detran
placa, conserto, Km/l, Identificação,
pagamento, etc.. manutenção, etc impostos, placa,
etc..
Objetos

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


armazenamos dados e operações que manipulam tais dados

 Unidade básica de modularização do sistema na abordagem OO

 Um objeto é um ente independente, composto por:


 atributos, isto é, características ou propriedades que definem o objeto
 comportamento, isto é, um conjunto de ações pré-definidas
(denominada métodos), através das quais o objeto responderá à
demanda de processamento por parte de outros objetos
Desenvolvimento tradicional x
orientado a objetos

Programa Programa

Processos Classes

Atributos
Dados

Operações
Classes

 Classes: “fábricas” de objetos.

 Exemplificando, temos que Pessoa é uma classe e João


é um objeto (instância) da classe Pessoa.

 Um carro é uma classe; “meu carro” é um objeto.

 Objetos similares são agrupados em classes


Classes – Fábrica de objetos.

Definição da classe
Mensagens

 A POO identifica uma abordagem em que o programador visualiza


seu programa em execução em termos de objetos que se
comunicam através de trocas de mensagens

 Mensagem - composta por um nome e por parâmetros (opcional)

Cliente Conta
debite(50R$) debite
Mensagens

 Objetos interagem enviando mensagens uns para os


outros;

 O objeto que receber a mensagem responderá através


da seleção e execução de um método que faz parte de
seu comportamento;

 Após a execução, o controle volta para o objeto que


enviou a mensagem.
Classes e objetos em Java
Estrutura de uma classe em Java

Definição da
[acesso] class NomeDaClasse
classe
{

Atributos
Construtores O conteúdo da
Métodos classe
}
Classes e objetos em Java
Métodos de uma classe em Java

 Definem as operações que podem ser invocadas em


um objeto.

 Podem receber parâmetros ou não.


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

 O cabeçalho define a assinatura do método.


Classes e objetos em Java
Atributos de uma classe em Java

 Atributos armazenam valores public class CursoGraduacao {


para um objeto.
private String nomeCurso;
private int qtd_periodos;
 Eles também são conhecidos
como variáveis de instâncias. Construtor e métodos omitidos.
}

 Atributos definem o estado


de um objeto.
Modificador de Nome da
visibilidade Tipo variável

private String nomeCurso;


Exemplo
public class Produto {

private int codigo;


private String nome;

public String getNome() {


return nome;
}
public void setNome(String nome_produto) {
nome = nome_produto;
}
}
Classes e objetos em Java
Construção de objetos em Java

 Realizada com a palavra Declaração do Objeto real


reservada New. tipo da variável Variável criado
 Processo conhecido como
criação de uma instância Produto p = new Produto();
de uma classe.
 Tipo da variável pode diferir
do objeto realmente criado
(desde que estejam
relacionados por herança).
Construtores
 Da mesma forma que com EX:
variáveis comuns, é
possível inicializar um public Produto(int cod, String nome_prod)
objeto logo ao construí-lo; {
codigo = cod;
 Construtores inicializam nome = nome_prod;
um objeto. }

 Eles têm o mesmo nome


das suas classes. int cod = 341278;
String prod = “Computador MSX Expert”;

 Eles freqüentemente Produto p = new Produto(cod, prod);


recebem valores de
parâmetros externos para
definir os atributos.
Classes e objetos em Java

 Construtores:
 Pode existir mais de um construtor em uma classe;
 Caso não seja definido nenhum construtor, o compilador cria o
construtor padrão, sem parâmetros;
 O construtor padrão inicializa os atributos de classe para seus
valores padrões.
 Caso seja definido qualquer construtor, o construtor padrão não
será adicionado pelo compilador;
 Caso se tenha interesse que a classe ainda possua um construtor
sem parâmetros, é necessário declará-lo explicitamente.
A Referência this
 Métodos de instância EX:
recebem um argumento
chamado this que é uma Class Produto {
referência ao objeto
corrente. private int codigo;
 O uso explícito do this é private String nome;
necessário quando:
 o nome de um parâmetro public Produto(int codigo, String nome)
do método for o mesmo {
de uma variável de this.codigo = codigo;
instância; this.nome = nome;
 desejamos passar uma }
referência do objeto
corrente como parâmetro
para outro método.
Introdução a
Programação Orientada a
Objetos

Programação em Java

Prof. Maurício Braga

Você também pode gostar