Escolar Documentos
Profissional Documentos
Cultura Documentos
Em um programa, tudo objeto Um programa um monte de objetos dizendo aos outros o que fazer
Mensagens
3
Objeto = DVD
Estado atual do DVD o que ele est fazendo
PLAY
> 1:38
> >>|
|<<
Saldo
Nmero
875,32
21.342-7
Debitar
5
Crdito
Creditar
Crdito
Saldo
Saldo
Nmero
Nmero
Saldo
Saldo
Nmero
Nmero
875,32
875,32
21.342-7
21.342-7
895,32
875,32
21.342-7
21.342-7
Debitar
Debitar
Dbito
Dbito
Orientao a Objetos
O objeto uma estrutura que possui dados e operaes
Os dados, inclusive, podem ser outros objetos (atributos) As operaes manifestam o comportamento de um objeto quando solicitado (mtodos)
Estado encapsulado
Incluir dentro de um objeto tudo que lhe diz respeito
7
Modelagem
Vamos modelar uma locadora de vdeo!
Visor = estado
10
Evite abreviaes no nome e use nomes com alguma relao com o que a classe modela. 11
Atributos em Java
public class Livro { private int anoDePublicacao; private String titulo; ... }
Cada atributo tem um tipo especfico que caracteriza as propriedades dos objetos da classe int e String denotam os tipos cujos elementos so inteiros e strings
12
Tipos em Java
Primitivos
char int boolean double
...
Referncia
classes (String, Object, Livro, Conta, etc.)
Os elementos de um tipo primitivo so valores, enquanto os elementos de um tipo referncia so (referncias para) objetos!
13
Objetos e Classes
Programa uma sequncia de operaes em objetos de vrias classes
Objetos: rea de memria Precisamos do tipo referncia para us-los
Varivel do tipo Conta
Creditar
saldo
Saldo
numero
Nmero
895,00
875,32
21.342
21.342-7
Debitar 14
15
A palavra reservada private indica que os atributos s podem ser acessados (isto , lidos ou modificados) pelas operaes internas da classe correspondente
16
Vrios atributos de um mesmo tipo podem ser declarados conjuntamente Podemos iniciar um atributo com um valor especfico
17
Tipos de variveis
Variveis locais
Devem ser iniciadas Mtodos, funes, main
Atributos
Iniciadas automaticamente Classes
18
Aula 2
Mtodos e Acesso;
20
parmetros
tipo de retorno
corpo do mtodo
21
Mtodos em Java
public class Empregado { String nome; double salario; Endereco moradia; void aumentarSalario(double valor) { salario = salario + valor; } ... Por que no tem o }
Um mtodo uma operao que age e modifica os valores dos atributos do objeto onde ele executa parmetro cdigo do funcionrio?
22
O Corpo do Mtodo
Comandos que determinam as aes do mtodo Estes comandos podem
realizar simples atualizaes dos atributos de um objeto retornar valores executar aes mais complexas como se comunicar com outros objetos
23
Tipos de variveis
Variveis locais Atributos Parmetros
Iniciadas na chamada Mtodos, funes
24
Crdito
nome
Saldo
salrio ender.
rua
Nmero
Saldo
bairro
CEP
Zeca
875,32
200,00
A-1
21.342-7
875,32
Bessa
58048-493
mensagem
mudarRua
mudarRua
Sobrecarga de Mtodos
Mtodos diferentes podem ter o mesmo nome, diferenciados pela quantidade de parmetros
class Conta{ ... public void debitar(double v){ saldo = saldo v; } public void debitar(int v){ saldo = saldo v; } }
26
Mtodos de Acesso
Tentar ler ou escrever em um atributo privado do objeto resulta em erro de compilao Podemos definir 2 mtodos que acessam o atributo (na prpria classe onde o atributo se encontra), para leitura e escrita Mtodos de acesso
getXXX() setXXX()
27
Colocar public?
Mtodos de Acesso
public class Livro { private int anoDePublicacao; private String titulo; public int getTitulo(){ return titulo; } public void setTitulo(String novoTit){ titulo = novoTit; }
}
Mtodo que retorna valores
28
29
Referncia this
public class Livro { private int anoDePublicacao; private String titulo; public int getTitulo(){ return this.titulo; } public void setTitulo(String titulo){ this.titulo = titulo; }
}
Varivel que referncia ESTE objeto, o corrente
30
Modificadores de acesso
Mtodo privados
S podem ser chamados partir da mesma classe Para operaes teis apenas internamente Seguem encapsulamento
Atributos pblicos
Dificilmente usados (apenas para constantes)
32
Exerccio
Criar classe Ponto, que possui duas coordenadas x e y e mtodos de acesso (get,set) Criar classe Reta, que possui dois pontos, e o seguinte mtodo:
public void mudaPosicao(int x1,int y1,int x2,int y2){...}
33
Atividades
Criar novo projeto (Banco) Crie uma classe Cliente contendo como atributos o cpf e o nome do cliente Criar os mtodos de acesso (get/set)
35
Atividades
Criar classe Conta
Dados: nmero (int) e saldo (double) Gerar mtodos de acesso automaticamente creditar, debitar transferirDe(Conta destino) transferirPara(Conta origem)