POO - 01 - Introdução ao Paradigma Orientado a Objetos
-
Upload
ludimila-monjardim-casagrande -
Category
Technology
-
view
5.777 -
download
0
Transcript of POO - 01 - Introdução ao Paradigma Orientado a Objetos
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.