Upload
ferdinand-dotson
View
24
Download
4
Embed Size (px)
DESCRIPTION
PROGRAMAÇÃO I. Classes Objetos Atributos Construtores Métodos. ESTADO E COMPORTAMENTO. OBJETOS DO MUNDO REAL. Quantos objetos?. Quais classes?. Quantas classes?. Carro. 2. 1. 3. Pessoa. Estado (dados de cada objeto):. 6. - nome - peso - altura - endereço - PowerPoint PPT Presentation
Citation preview
PROGRAMAÇÃO I
Classes Objetos Atributos Construtores Métodos
Unisinos – Prog I 2
OBJETOS DO MUNDO REAL
Quantos objetos? Quantas classes? Quais classes?
12
3
45
6
7 8
9
Carro
Pessoa
Rádio
ESTADO E COMPORTAMENTO
- nome - peso - altura - endereço - renda mensal
+ muda endereço + altera renda mensal + faz exame médico
Estado (dados de cada objeto):
Comportamentos:
- placa - consumo médio - nível atual do tanque
+ anda + abastece + verifica nível do tanque
- marca- ligado ou desligado- volume atual- estação sintonizada
+ liga+ desliga+ aumenta volume+ seleciona estação
Em JavaO estado dos objetos é representado pelos seus
atributos
métodos
O comportamento dos objetos é descrito pelos seus
O que são atributos?São as propriedades dos objetos de
uma determinada classe.
Exemplo: todos os objetos da classe Carro têm os mesmos atributos, com valores diferentes
Consumo médioNível do tanque
1245
Consumo médio nível do tanque 45
Consumo médioNível do tanque
15
40 Consumo médioNível do tanque
1855
O que é um método?É um serviço oferecido pelos objetos
de uma determinada classe.
Exemplo: selecionar uma estação
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
Consumo médioNível do tanque
40
15 Clique aqui
Objetos de software
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
No paradigma orientado a objetos, tudo são objetos
Representação na linguagem UML (Unified Modeling Language)
Diagrama de Classe
Pessoa
- nome :String- idade :int
+Pessoa (n:String,i: int )+fazAniversario ( )+exibeDados ( )
Atributos,campos ou
variáveis de instância
Construtore Métodos
Diagramas de objetos
Pessoa
nome José Silva
idade 25
Pessoa
nome Maria Reis
idade
19
Responsabilidadesde uma classe:
Conhecimento
Comportamentoé uma instância deé uma instância de
Representação na linguagem UML
Classe
Funcionario-nome-salario-numeroDeDependentes+mudaSalario+exibeDados+aumentaSalario+insereDependente
Atributos,campos ou
variáveis de instância
Métodos oufunções
Dois objetos da classe Funcionario:
Funcionario
nome José Silvasalario 2500.00numeroDe 2Dependentes
Funcionario
nome Anna Lemesalario 3235.50numeroDe 0Dependentes
Atributos e métodossão membros de
uma classe
Responsabilidadesde uma classe:
Conhecimento
Comportamento
9Unisinos - Prof. Aníbal
Exercício 1.1. Usando a representação UML acima, modele a classe ContaBancaria definindo alguns membros (atributos e métodos) e alguns exemplosde instâncias.Pense num banco que possui diversas contas. Cada objeto conta deve ter umnú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 consultaao saldo.
10
ContaBancaria-numero-saldo+deposita+retira+consultaSaldo
ContaBancaria
numero 123saldo 500.00
ContaBancaria
numero 065saldo 1250.35
Classe Ex. de instâncias
Unisinos - ProgI
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 certoconsumo médio de combustível (medido em km/litro), uma certa quantidade decombustível no tanque e, para identificá-lo, uma placa. O carro gasta combustívelquando 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.
Carro-placa-consumoMedio-nivelDoTanque+anda+abastece+verificaNivel
Carro
placa ABC1111consumoMedio 15.5nivelDoTanque 47
Classe Ex. de instâncias
Unisinos - ProgI
Carro
placa IJU8122consumoMedio 15.5nivelDoTanque 35
CLASSES EM JAVA
Sintaxe:
visibilidade class nome da classe { atributos construtor(es) métodos}
public class Pessoa{ // atributos private String nome; private int idade; // aqui colocaremos o(s) construtor(es) // aqui colocaremos os métodos}
Exemplo:
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:
corcalculaImpostoDeRenda_nomeAluno$nota_1
1Autornome Do Clientecoordenada-X
Estes são inválidos! Por quê?
Palavras-chave ou reservadas
Termos da linguagem Java: class, private, int, double e outras
13Unisinos - ProgI
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 classeprivate – 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
14Unisinos - ProgI
Exercício 1.3. Escreva a classe ContaBancaria em Java, dando tipos aosatributos e comentários para indicar o que cada método faz.
Exercício 1.4. Repita o exercício anterior para a classe Carro.
15
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*/}
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
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 3.55.0
16Unisinos - ProgI
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 declasse, de atributo, de método ou se é um valor de atributo (neste último, informar o tipo):
“quadrado” dataData numeroDeLados movePolígono3“hexágono” 4.56 exibe medidaDoLado
17Unisinos - ProgI
Criando objetos (instanciação)
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ância2ª. – criar uma nova instância para o objeto, usando o operador new, que aloca espaço de memória para os atributos do novo objeto3ª. – atribuir o endereço do objeto à variável objeto
Ex:Funcionario f1; //Etapa 1f1 = new Funcionario(); // Etapas 2 e 3
Funcionario
nome null salario 0.0 numeroDe Dependentes 0
Na memória:
f1 null
Variável objetoou referência
Atributos ou variáveis de instância18Unisinos - ProgI
Criando obj
Criando objetos (instanciação): operador new
Pessoa p1 = new Pessoa(“Maria”, 24); na Memória
p1
Variável objetoou referência
Aloca espaço de memória para o novo objeto e chama o construtor para configurar os valores dos atributos.
Decla
ra
uma
variá
vel
cujo
tipo
é
a cla
sse
do
obje
to
send
o
inst
ancia
do
Atribui o endereço do objeto para a
variável
Pessoa
nome Maria idade 24
//
na Memória na Memória
Clique para ver o primeiro
passo
Clique para ver o
terceiro passo
Clique para ver o
segundo passo
Chamada (invocação) de método
chama o método que mostra na tela os valores dos atributos do objeto referenciado por p1
Maria 24 p1.exibeDados ( );
Após criado o novo objeto (referenciado por p1) podemos aplicar métodos da classe Pessoa a essa pessoa:
Pessoa
nome Maria idade 24
Tela
p1
Memória
Exercício 1.7. Declare mais duas variáveis objeto para armazenar instânciasda classe Funcionario.
Exercício 1.8. Agora, complete a instanciação dos dois objetos declarados no exercício anterior.
Exercício 1.9. Escreva as instruções para instanciar alguns objetos das classes ContaBancaria e Carro.
21
Funcionario f3, f4;
f3 = new Funcionario();f4 = new Funcionario();
ContaBancaria c1 = new ContaBancaria();ContaBancaria c2 = new ContaBancaria();Carro car1, car2;car1 = new Carro(); car2 = new Carro();
Unisinos - Prof. Aníbal