21
PROGRAMAÇÃO I Classes Objetos Atributos Construtores Métodos

Classes Objetos Atributos Construtores Métodos

Embed Size (px)

Citation preview

Page 1: Classes  Objetos  Atributos  Construtores  Métodos

PROGRAMAÇÃO I

Classes Objetos Atributos Construtores Métodos

Page 2: 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

Page 3: Classes  Objetos  Atributos  Construtores  Métodos

Em JavaO estado dos objetos é representado pelos seus

atributos

métodos

O comportamento dos objetos é descrito pelos seus

Page 4: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 5: Classes  Objetos  Atributos  Construtores  Métodos

O que é um método?É um serviço oferecido pelos objetos

de uma determinada classe.

Exemplo: selecionar uma estação

Page 6: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 7: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 8: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 9: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 10: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 11: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 12: Classes  Objetos  Atributos  Construtores  Métodos

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:

Page 13: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 14: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 15: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 16: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 17: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 18: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 19: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 20: Classes  Objetos  Atributos  Construtores  Métodos

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

Page 21: Classes  Objetos  Atributos  Construtores  Métodos

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