Classes em Java

Download Report

Transcript Classes em Java

Slide 1







Classes
Objetos
Atributos
Construtores
Métodos


Slide 2

ESTADO
OBJETOS
E COMPORTAMENTO
DO MUNDO REAL
Quantos objetos?

1

Quantas classes?

Carro

Quais classes?

2

3

Pessoa

Estado (dados de cada objeto):
- nome
- marca
placa
-- peso
- ligado
ou desligado
4 - consumo médio
- alturaatual
- volume
nível sintonizada
atual do tanque
-- endereço
- estação
- renda mensal
Comportamentos:
++ muda
+ liga
anda endereço
++ altera
renda mensal
+ desliga
abastece
++ faz
exame
médico
+ aumenta
volume
verifica
do tanque
7nível
+ seleciona estação
Unisinos – Prog I

6
5

Rádio
8
9

2


Slide 3

Em Java
O estado dos objetos é
representado pelos seus

atributos
O comportamento dos objetos é
descrito pelos seus

métodos


Slide 4

O que são atributos?
São as propriedades dos objetos de
uma determinada classe.

Exemplo:

Consumo médio 15
Consumo médio
Nível do tanque 40
nível do tanque 45

todos os objetos da classe Carro têm os mesmos
atributos, com valores diferentes

Consumo médio 18
Nível do tanque 55

Consumo médio 12
Nível do tanque 45


Slide 5

O que é um método?
É um serviço oferecido pelos objetos
de uma determinada classe.

Exemplo:

selecionar uma estação


Slide 6

O que é um construtor?
É um serviço especial oferecido pela classe para
configurar (inicializar com valores) os atributos dos
objetos quando estes são instanciados.

Exemplo:

Instanciar um objeto da
classe Carro
Clique aqui

15

Consumo médio
Nível do tanque

40


Slide 7

Objetos de software
paradigma orientado a objetos,
tudo são objetos
O aluno José Silva é um objeto
• A aluna Maria Rodrigues é outro objeto
• A data de nascimento (24/05/1986) é um objeto
• A conta bancaria de número 1457-3 é um objeto
Objetos que compartilham certas características formam uma

classe

• Cada objeto é dito uma

instância da sua classe


Slide 8

Representação na linguagem UML (Unified Modeling Language)
Diagrama de Classe
Responsabilidades
de uma classe:

Pessoa
Atributos,
campos ou
variáveis de instância
Construtor
e Métodos

- nome :String
- idade :int

Conhecimento

+Pessoa (n:String,i: int )
+fazAniversario ( )
+exibeDados ( )

Comportamento

Diagramas de objetos

Pessoa

Pessoa
nome

José Silva

nome

idade

25

idade

Maria Reis
19


Slide 9

Representação na linguagem UML
Classe
Funcionario
-nome
-salario
-numeroDeDependentes
+mudaSalario
+exibeDados
+aumentaSalario
+insereDependente

Atributos,
campos ou
variáveis de instância
Métodos ou
funções

Responsabilidades
de uma classe:
Conhecimento
Atributos e métodos
são membros de
uma classe
Comportamento

Dois objetos da classe Funcionario:
Funcionario
nome
José Silva
salario
2500.00
numeroDe
2
Dependentes

Funcionario
nome
Anna Leme
salario
3235.50
numeroDe
0
Dependentes


Slide 10

Exercício 1.1. Usando a representação UML acima, modele a classe
ContaBancaria definindo alguns membros (atributos e métodos) e alguns exemplos
de instâncias.
Pense num banco que possui diversas contas. Cada objeto conta deve ter um
número e um saldo (valor em dinheiro que ela tem no momento).
As operações que uma conta pode sofrer são retirada, depósito e consulta
ao saldo.
Classe
Ex. de instâncias
ContaBancaria
-numero
-saldo
+deposita
+retira
+consultaSaldo

ContaBancaria
numero
saldo

123
500.00

ContaBancaria
numero
saldo

Unisinos - ProgI

065
1250.35

10


Slide 11

Exercício 1.2. Repita o exercício anterior para modelar uma classe que simula
(de forma bem simplificada) objetos do tipo Carro. Cada objeto carro tem um certo
consumo médio de combustível (medido em km/litro), uma certa quantidade de
combustível no tanque e, para identificá-lo, uma placa. O carro gasta combustível
quando anda uma certa distância. Eventualmente, ele abastece para aumentar o
nível do tanque e deve ter uma forma de verificar este nível.
Classe
Carro
-placa
-consumoMedio
-nivelDoTanque
+anda
+abastece
+verificaNivel

Ex. de instâncias
Carro
placa
consumoMedio
nivelDoTanque
Carro
placa
consumoMedio
nivelDoTanque

Unisinos - ProgI

ABC1111
15.5
47

IJU8122
15.5
35
11


Slide 12

Sintaxe:

visibilidade class
atributos
construtor(es)
métodos
}

nome da classe {

Exemplo:
public class Pessoa{
// atributos

private String nome;
private int idade;
// aqui colocaremos o(s) construtor(es)
// aqui colocaremos os métodos

}


Slide 13

Identificadores
• Servem para dar nomes a classes, atributos, métodos etc.
• Um identificador é composto por qualquer quantidade de letras, dígitos e
os sinais _ e $
• O primeiro caractére deve ser letra ou _ ou $
• Não pode haver brancos entre os caracteres

• Maiúsculas são diferenciadas de minúsculas
Exemplos:
cor
calculaImpostoDeRenda
_nomeAluno
$nota_1

1Autor
nome Do Cliente
coordenada-X

Estes são inválidos! Por quê?
Palavras-chave ou reservadas
Termos da linguagem Java: class, private, int, double e outras
Unisinos - ProgI

13


Slide 14

Comentários
São textos explicativos que não afetam o processamento da classe.
Três tipos:
/** texto do comentário */
/* texto do comentário */
// texto do comentário
Visibilidade dos membros de uma classe
- Classes não vivem em isolamento
- Grau de privacidade das classes e de seus membros é dado pelos
modificadores de controle de acesso:
public – indica que o membro é acessível de qualquer outra classe
private – membro só é reconhecido pela própria classe
Importante
• Todo membro de uma classe
é sempre acessível dentro da própria classe
• Atributos devem ser sempre PRIVADOS
Unisinos - ProgI

14


Slide 15

Exercício 1.3. Escreva a classe ContaBancaria em Java, dando tipos aos
atributos e comentários para indicar o que cada método faz.
public class ContaBancaria{
private int numero;
private double saldo;
/** Realiza um depósito na conta */
/** Faz um saque da conta */
/** Exibe na tela o valor atual do saldo*/
}
Exercício 1.4. Repita o exercício anterior para a classe Carro.
public class Carro{
private double consumoMedio;
private int nivelDoTanque;
/** Ao se deslocar, o carro consome combustível*/
/** Adiciona combustível no tanque*/
/** Exibe quant. atual de combustível no tanque*/
}
Unisinos - ProgI

15


Slide 16

Algumas observações importantes
• A classe é um modelo para criar objetos daquele tipo
• Cada objeto terá valores individuais para cada atributo (campo) definidos
pela classe.

• Atributos poderão ter seus valores alterados ao longo do tempo
• Atributos, também são chamados de variáveis de instância
• O conjunto de valores dos atributos de um objeto descrevem o
estado atual daquele objeto.

Circulo
raio

Unisinos - ProgI

5.0
3.5

16


Slide 17

Exercício 1.5. Dê exemplos de valores válidos para cada atributo que você
declarou nas classes ContaBancaria e Carro.

Exercício 1.6. Identifique cada termo da lista seguinte dizendo se é nome de
classe, de atributo, de método ou se é um valor de atributo (neste último,
informar o tipo):
“quadrado”
data
Data
numeroDeLados
movePolígono
3
“hexágono”
4.56
exibe
medidaDoLado
Unisinos - ProgI

17


Slide 18

Criando objetos (instanciação)

Criando obj
A criação de um novo objeto em Java é feita em três etapas:
1ª. – declarar uma variável cujo tipo é a classe da qual o objeto será
uma instância
2ª. – criar uma nova instância para o objeto, usando o operador new,
que aloca espaço de memória para os atributos do novo objeto
3ª. – atribuir o endereço do objeto à variável objeto
Ex:
Funcionario f1; //Etapa 1
f1 = new Funcionario(); // Etapas 2 e 3

Na memória:
f1

null

Variável objeto
ou referência

Funcionario
nome
salario
numeroDe
Dependentes

null
0.0
0

Atributos ou variáveis de instância
Unisinos - ProgI

18


Slide 19

Criando objetos (instanciação): operador new
Atribui o
endereço do
objeto para a
variável

Clique para
ver o
primeiro
passo

Clique para
ver o
terceiro
passo

Pessoa p1

=

na Memóriana Memória

new Pessoa(“Maria”, 24);
na Memória
Pessoa

p1
//
Variável objeto
ou referência

Clique para
ver o
segundo
passo

nome
idade

Maria
24


Slide 20

Chamada (invocação) de método
Após criado o novo objeto (referenciado por p1) podemos aplicar métodos
da classe Pessoa a essa pessoa:
Memória
Pessoa

p1

nome
idade

chama o método que mostra na tela
os valores dos atributos do objeto
referenciado por p1

p1.exibeDados ( );

Maria

24

Tela
Maria
24


Slide 21

Exercício 1.7. Declare mais duas variáveis objeto para armazenar instâncias
da classe Funcionario.
Funcionario f3, f4;

Exercício 1.8. Agora, complete a instanciação dos dois objetos declarados no
exercício anterior.
f3 = new Funcionario();
f4 = new Funcionario();
Exercício 1.9. Escreva as instruções para instanciar alguns objetos das
classes ContaBancaria e Carro.
ContaBancaria c1 = new ContaBancaria();
ContaBancaria c2 = new ContaBancaria();
Carro car1, car2;
car1 = new Carro();
car2 = new Carro();