POO - 01 - Introdução ao Paradigma Orientado a Objetos

ludimila_monjardim 6,593 views 21 slides Jul 06, 2012
Slide 1
Slide 1 of 21
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21

About This Presentation

Introdução ao Paradigma Orientado a Objetos usando Java: Conceitos Fundamentais.


Slide Content

Introdução ao Paradigma
Orientado a Objeto
Ludimila Monjardim Casagrande
2012
Conceitos Fundamentais

Tópicos da Aula
Classes e objetos
Estrutura de uma classe
Representações de uma classe
Atributos
Métodos
Construtores
Ciclo de vida de um objeto
Garbage collector



Introdução à OO ©2012 Ludimila Monjardim Casagrande 2

Introdução à OO ©2012 Ludimila Monjardim Casagrande 3
Classes e Objetos
Uma classe descreve um conjunto de objetos
que possuem as mesmas propriedades
(atributos), os mesmos comportamentos
(operações/métodos), relacionamentos comuns
com outros objetos e uma semântica comum.
Objeto é uma instância de uma classe.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 4
Classes e Objetos
Uma classe pode ser definida como um
conceito, uma abstração ou uma entidade com
limites e significados bem definidos para a
aplicação em questão.
As classes têm dois propósitos: promover o
entendimento do mundo real e suportar uma
base prática para uma implementação
computacional.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 5
Estrutura de uma Classe
<modificador> class <nome_da_classe> {
[<declaração_dos_atributos>]
[<declaração_dos_construtores>]
[<declaração_dos_métodos>]
}
Estrutura básica de uma classe
em UML
Estrutura básica de uma classe em
Java

Introdução à OO ©2012 Ludimila Monjardim Casagrande 6
Estrutura de uma Classe - Exemplo
Atributo e tipo do atributo
Construtor default
Métodos
public class Contador {

int contador;

Contador( ) {
this.contador = 0;
}

void incrementa( ) {
this.contador++;
}

void decrementa( ) {
this.contador--;
}
} this  referência para o objeto corrente

Introdução à OO ©2012 Ludimila Monjardim Casagrande 7
Representações de uma Classe
public class Conta {
private double saldo;
public void creditar (double valor) {
saldo = saldo + valor;
}
public void debitar (double valor) {
saldo = saldo - valor;
}
}
Representação usando UML
Representação usando Java
Nota:
- private
+ public
~ default
# protected

Introdução à OO ©2012 Ludimila Monjardim Casagrande 8
Atributos
Atributos são dados que caracterizam os objetos
de uma classe.
Nome, idade e endereço são exemplos de
atributos de um objeto Pessoa.
Cor, ano e modelo são possíveis atributos de
objetos Carro.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 9
Atributos
Cada atributo tem um valor para cada objeto (ou
instância de classe).
Cada nome de atributo é único em cada classe.
A declaração de qualquer atributo em uma
classe é composta minimamente pelo tipo do
atributo (que pode ser um tipo primitivo ou uma
classe) e pelo identificador do atributo.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 10
Tipos Primitivos do Java
Os tipos primitivos da linguagem Java são:
boolean
char
byte
short
int
long
float
double

Introdução à OO ©2012 Ludimila Monjardim Casagrande 11
Métodos
Um método é uma operação ou função que
pode ser aplicada a objetos de uma classe.
Por exemplo: abrir, fechar, salvar e imprimir são
operações que podem ser aplicadas a objetos
da classe Arquivo.
Todos os objetos de uma classe possuem as
mesmas operações, também conhecidas como
comportamentos.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 12
Exemplos de Métodos
public class Aluno {
int matricula;

public int obterMatricula( ) {
return matricula;
}

public void alterarMatricula
(int matr) {
matricula = matr;
}
}
Método sem argumentos,
que retorna um int
Método com argumentos,
que não retorna nada

Introdução à OO ©2012 Ludimila Monjardim Casagrande 13
Construtores
Objetos são criados por meio da execução de
um dos seus construtores.
Os construtores possuem o mesmo nome da
classe.
Métodos construtores definidos para uma certa
classe podem ou não possuir argumentos.
O construtor sem argumentos ou construtor
vazio é considerado o construtor default.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 14
Exemplos de Construtores
public class Conta {
private double saldo;
public Conta ( ) {
}
public Conta (double saldo) {
this.saldo = saldo;
}
public void creditar (double valor) {
saldo = saldo + valor;
}
public void debitar (double valor) {
saldo = saldo - valor;
}
public double obterSaldo ( ) {
return saldo;
}
}
Construtor default
Construtor com
um argumento
Os construtores normalmente
inicializam os atributos da
classe.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 15
Ciclo de Vida de um Objeto
Todo objeto em um programa ou aplicação é
criado em tempo de execução, utilizado e
destruído.
Em Java, a palavra-chave new é usada para
criar um novo objeto como uma instância de
uma classe específica, retornando como
resultado uma referência para o objeto criado.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 16
Ciclo de Vida de um Objeto
Em Java um objeto não precisa ser
explicitamente destruído como acontece, por
exemplo, em C++.
No caso da linguagem Java, a memória alocada
para um objeto é liberada por um processo de
baixa prioridade denominado garbage collector,
quando esse objeto não estiver mais sendo
usado e quando ele não puder mais ser
acessado.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 17
Garbage Collection
Em Java não é possível determinar quando um
objeto será coletado.
Existem alguns métodos que, quando chamados
em algum ponto do código, sugerem que objetos
não utilizados sejam coletados. Esses métodos são:
System.gc( ) e Runtime.gc( )
No entanto, isso não garante a execução do
garbage collector nesse ponto, uma vez que outro
processo de maior prioridade pode impedi-lo.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 18
Exemplo de Criação de um Objeto


public class Principal {
public static void main (String[] args) {
Conta c1 = new Conta( );
c1.creditar(10.0);
System.out.println(c1.obterSaldo());
Conta c2 = new Conta(50.0);
c2.creditar(10.0);
System.out.println(c2.obterSaldo());
}
}
Chamada do construtor
default
Chamada do construtor
com um argumento
c1 e c2 são objetos
distintos e independentes

Introdução à OO ©2012 Ludimila Monjardim Casagrande 19
Acesso aos Membros de uma Classe
Os atributos e métodos também são chamados
de membros de uma classe.
Em Java, a seguinte sintaxe é utilizada para se
ter acesso aos membros da classe:
<objeto>.<membro> ou <classe>.<membro>
Exemplos:
c1.creditar(10.0);
aluno1.ra;
System.out;

POO ©2012 Ludimila Monjardim Casagrande 20
API do Java
Existem duas versões principais de APIs
(Application Program Interface) do Java
Java SE: Java Platform Standard Edition 7
http://download.oracle.com/javase/7/docs/api/
Java EE: Java Platform Enterprise Edition 6
http://docs.oracle.com/javaee/6/api/index.html
A especificação de uma API contém todas as
classes e interfaces nativas do Java.
Exemplos: Date, List, ArrayList, String, etc.

Introdução à OO ©2012 Ludimila Monjardim Casagrande 21
Leituras Recomendadas
FJ-11: Java e Orientação a Objetos.
Caelum Ensino e Inovação.
http://www.caelum.com.br/curso/fj-11-java-
orientacao-objetos/.
Orientação a Objetos em Java
K19 Treinamentos.
http://www.k19.com.br/downloads/apostilas-java.