ALGORITMOS E PROGRAMAÇÃO I Classes e Atributos Roteiro 2 Classes no BlueJ, 6 Definição de classe, 16 Instanciação, 19 Atributos, 21 Tipos de Dados, 22 Declaração, 25 Estrutura de uma classe, 23 Identificadores, 24 Lista de Exemplos 3 Lampada, 11, 28 Fração, 13 Quadrado, 15 Relembrando... 4 Considerando o exemplo da Lâmpada, onde estão os objetos na figura abaixo? Relembrando... 5 Como criamos os objetos? C Algumas conclusões 6 Todas as lâmpadas tem o mesmo comportamento. É razoável supor que todas as lâmpadas tenham a mesma estrutura interna. Mesmo comportamento + mesma estrutura = mesma categoria ou classe de objetos. Objetos da mesma classe são definidos através de uma descrição de classe. C Classes e Objetos 7 Classe Objetos C Classes e Objetos 8 Classe Objetos C Classes e Objetos 9 Classe Objetos z Pensando.... 10 O que uma Lâmpada precisa armazenar? z Pensando.... 11 O que uma Lâmpada precisa armazenar? Um valor que possibilite a representação do seu estado: apagada ou acesa. Lampada estado Classe lampada1: lampada2: lampada3: acesa apagada apagada Objetos z Pensando.... 12 O que uma Fração precisa armazenar? z Pensando.... 13 O que uma Fração precisa armazenar? Um valor que possibilite a representação do seu numerador e outro valor para representar o seu denominador. Fracao numerador Classe denominador fracao1: fracao2: fracao3: fracao4: fracao5: 1 5 32 3 44 2 2 7 123 200 Objetos z Pensando.... 14 O que um Quadrado precisa armazenar? z Pensando.... 15 O que um Quadrado precisa armazenar? Um valor que possibilite a representação do seu lado. Quadrado lado Classe quadrado1: quadrado2: 20.4 4.3 Objetos C Algumas conclusões 16 Uma classe define um conjunto de objetos que possuem um mesmo comportamento e uma mesma estrutura. Os objetos precisam armazenar valores. A definição dos valores que os objetos podem armazenar é feita na classe, através da declaração de atributos. 17 Formalizando… C Classes 18 Uma classe define, em um único local, características comuns a todos os objetos criados a partir desta classe. C Classes (2) 19 Os objetos são chamados de instâncias. A operação de criação é chamada de instanciação. C Classes (3) 20 As classes definem atributos que são utilizados pelos objetos para armazenar valores. C Atributos 21 Atributos armazenam dados que podem ser alterados pelas mensagens dos objetos. O nome de um atributo é denominado identificador. Deve-se definir também o tipo de dado que o atributo armazena. Números inteiros Números reais Valores lógicos (verdadeiro ou falso) etc... C Tipos de dados 22 Números inteiros: valores numéricos que pertençam ao conjunto dos números inteiros (negativos, nulos ou positivos). 2, -44, 0, 314 Números reais: valores numéricos que pertençam ao conjunto dos números reais (negativos, nulos ou positivos). 3.14, 120.45, -32.87 Valores lógicos: assumem os valores true (verdadeiro) ou false (falso). C Estrutura de uma classe 23 public class <NomeDaClasse> { <declaração dos atributos> <definição dos métodos> } C Identificadores de classes 24 Identificadores válidos Devem iniciar com uma letra maiúscula. Usar uma letra maiúscula para o início de cada palavra no nome da classe Exemplo: NomeDaClasse. Java faz diferenciação entre maiúsculas e minúsculas! C Declaração dos atributos 25 Identificadores válidos Devem iniciar com uma letra minúscula, demais palavras iniciam em maiúsculas Atributos são compostos por substantivos ou adjetivos: nome, saldo, enderecoComercial Tipos de dados Inteiro: int Real: double Lógico: boolean C Declaração dos atributos 26 private <tipo> <identificador>; Exemplos: private int idade; private double salario; C Declaração dos atributos 27 O que significa private? Significa que os dados somente podem ser acessados pelos objetos aos quais pertencem. Atributos são sempre private. z Classe Lampada 28 Como iremos codificar a classe Lampada? Quais atributos ela necessita? z Classe Lampada 29 public class Lampada { private boolean estado; <declaração dos métodos> } Exercícios 30 Implemente as estruturas de classe para os exemplos apresentados nos slides anteriores: Fração Quadrado Exercícios 31 Implemente as estruturas de classe para os exemplos apresentados nas aulas anteriores: Lâmpada com dimmer Parquímetro Carro Conta