1 / 21

PROGRAMAÇÃO I

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

Download Presentation

PROGRAMAÇÃO I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PROGRAMAÇÃO I • Classes • Objetos • Atributos • Construtores • Métodos

  2. 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 - renda mensal + muda endereço + altera renda mensal + faz exame médico - marca - ligado ou desligado - volume atual - estação sintonizada + liga + desliga + aumenta volume + seleciona estação 5 - placa - consumo médio - nível atual do tanque 4 Comportamentos: Rádio + anda + abastece + verifica nível do tanque 8 7 9 Unisinos – Prog I 2

  3. Em Java O estado dos objetos é representado pelos seus atributos O comportamento dos objetos é descrito pelos seus métodos

  4. O que são atributos? São as propriedades dos objetos de uma determinada classe. todos os objetos da classe Carro têm os mesmosatributos, com valores diferentes Exemplo: Consumo médio Nível do tanque 15 Consumo médio nível do tanque 45 Consumo médio Nível do tanque 18 40 Consumo médio Nível do tanque 55 12 45

  5. O que é um método? É um serviço oferecido pelos objetos de uma determinada classe. selecionar uma estação Exemplo:

  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. Instanciar um objeto da classe Carro Exemplo: Clique aqui 15 Consumo médio Nível do tanque 40

  7. Objetos de software No 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ânciada sua classe

  8. Representação na linguagem UML(Unified Modeling Language) Diagrama de Classe Responsabilidades de uma classe: Pessoa - nome :String - idade :int +Pessoa (n:String,i: int ) +fazAniversario ( ) +exibeDados ( ) Atributos, campos ou variáveis de instância Conhecimento Construtor e Métodos Comportamento é uma instância de é uma instância de Diagramas de objetos Pessoa nome Maria Reis idade Pessoa nome José Silva idade 25 19

  9. Representação na linguagem UML Classe Responsabilidades de uma classe: Funcionario -nome -salario -numeroDeDependentes +mudaSalario +exibeDados +aumentaSalario +insereDependente Atributos, campos ou variáveis de instância Conhecimento Atributos e métodos são membros de uma classe Métodos ou funções 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 Unisinos - Prof. Aníbal

  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 123 saldo 500.00 ContaBancaria -numero -saldo +deposita +retira +consultaSaldo ContaBancaria numero 065 saldo 1250.35 Unisinos - ProgI 10

  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 Ex. de instâncias Carro -placa -consumoMedio -nivelDoTanque +anda +abastece +verificaNivel Carro placa ABC1111 consumoMedio 15.5 nivelDoTanque 47 Carro placa IJU8122 consumoMedio 15.5 nivelDoTanque 35 Unisinos - ProgI 11

  12. Sintaxe: visibilidade class nome da classe { atributos construtor(es) métodos } Classes em Java Exemplo: public class Pessoa{ // atributos private String nome; private int idade; // aqui colocaremos o(s) construtor(es) // aqui colocaremos os métodos }

  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

  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

  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

  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 3.5 5.0 Unisinos - ProgI 16

  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

  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 =newFuncionario(); // Etapas 2 e 3 Na memória: f1 null Funcionario nome null salario 0.0 numeroDe Dependentes 0 Variável objeto ou referência Atributos ou variáveis de instância Unisinos - ProgI

  19. Declara uma variável cujo tipo é a classe do objeto sendo instanciado Criando objetos (instanciação): operador new Atribui o endereço do objeto para a variável Aloca espaço de memória para o novo objeto e chama o construtor para configurar os valores dos atributos. Clique para ver o primeiro passo Clique para ver o terceiro passo Clique para ver o segundo passo Pessoa p1 =new Pessoa(“Maria”, 24); na Memória na Memória na Memória Pessoa nome Maria idade p1 // Variável objeto ou referência 24

  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 p1 chama o método que mostra na tela os valoresdos atributos do objeto referenciado por p1 Pessoa nome Maria idade Tela Maria 24 24 p1.exibeDados ( );

  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 =newFuncionario(); f4 =newFuncionario(); Exercício 1.9. Escreva as instruções para instanciar alguns objetos das classes ContaBancaria e Carro. ContaBancaria c1 = newContaBancaria(); ContaBancaria c2 = newContaBancaria(); Carro car1, car2; car1 = newCarro(); car2 = newCarro(); Unisinos - Prof. Aníbal

More Related