29.01.2014 Views

ALGORITMOS E PROGRAMAÇÃO I Relembrando... Relembrando ...

ALGORITMOS E PROGRAMAÇÃO I Relembrando... Relembrando ...

ALGORITMOS E PROGRAMAÇÃO I Relembrando... Relembrando ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Relembrando</strong>...<br />

Considerando o exemplo da Lâmpada,<br />

onde estão os objetos na figura abaixo?<br />

<strong>ALGORITMOS</strong> E<br />

<strong>PROGRAMAÇÃO</strong> I<br />

Classes e Atributos<br />

<strong>Relembrando</strong>...<br />

Algumas conclusões<br />

Como criamos os objetos?<br />

Todas as lâmpadas tem o mesmo<br />

comportamento.<br />

É razoável supor que todas as lâmpadas<br />

tenham a mesma estrutura interna.<br />

Mesmo comportamento + mesma<br />

estrutura = mesma categoria ou classe<br />

de objetos.<br />

Objetos da mesma classe são definidos<br />

através de uma descrição de classe.<br />

Classes e Objetos<br />

Classes e Objetos<br />

Classe<br />

Classe<br />

Objetos<br />

Objetos


Classes e Objetos<br />

Pensando....<br />

O que uma Lâmpada precisa armazenar?<br />

Classe<br />

Objetos<br />

Pensando....<br />

Pensando....<br />

O que uma Lâmpada precisa armazenar?<br />

Um valor que possibilite a representação<br />

do seu estado de apagada ou acesa.<br />

O que uma Fração precisa armazenar?<br />

Lampada<br />

estado<br />

Classe<br />

lampada1:<br />

acesa<br />

lampada2:<br />

apagada<br />

lampada3:<br />

apagada<br />

Objetos<br />

Pensando....<br />

Pensando....<br />

O que uma Fração precisa armazenar?<br />

Um valor que possibilite a representação<br />

do seu numerador e outro valor para<br />

representar o seu denominador.<br />

O que um Quadrado precisa armazenar?<br />

Fracao<br />

numerador<br />

denominador<br />

Classe<br />

fracao1:<br />

1<br />

2<br />

fracao2:<br />

5<br />

2<br />

fracao3:<br />

32<br />

7<br />

fracao4:<br />

3<br />

123<br />

fracao5:<br />

44<br />

200<br />

Objetos


Pensando....<br />

Algumas conclusões<br />

O que um Quadrado precisa armazenar?<br />

Um valor que possibilite a representação<br />

do seu lado.<br />

Quadrado<br />

lado<br />

quadrado1:<br />

20.4<br />

Classe<br />

quadrado2:<br />

4.3<br />

Objetos<br />

Uma classe define um conjunto de<br />

objetos que possuem um mesmo<br />

comportamento e uma mesma<br />

estrutura.<br />

Os objetos precisam armazenar valores.<br />

A definição dos valores que os objetos<br />

podem armazenar é feita na classe,<br />

através da declaração de atributos.<br />

Classes<br />

Formalizando…<br />

Uma classe define, em um único local,<br />

características comuns a todos os objetos<br />

criados a partir desta classe.<br />

Classes<br />

Classes<br />

Os objetos são chamados de instâncias.<br />

A operação de criação é chamada de<br />

instanciação.<br />

As classes definem atributos que são<br />

utilizados pelos objetos para armazenar<br />

valores.


Atributos<br />

Tipos de dados<br />

Atributos armazenam dados que podem ser<br />

alterados pelas mensagens dos objetos.<br />

O nome de um atributo é denominado<br />

identificador.<br />

Deve-se definir também o tipo de dado<br />

que o atributo armazena.<br />

Números inteiros<br />

Números reais<br />

Valores lógicos (verdadeiro ou falso)<br />

Etc...<br />

Números inteiros: valores numéricos que<br />

pertençam ao conjunto dos números<br />

inteiros (negativos, nulos ou positivos).<br />

2, -44, 0, 314<br />

Números reais: valores numéricos que<br />

pertençam ao conjunto dos números<br />

reais (negativos, nulos ou positivos).<br />

3.14, 120.45, -32.87<br />

Valores lógicos: assumem os valores<br />

true (verdadeiro) ou false (falso).<br />

Estrutura de uma classe<br />

Identificadores de classes<br />

public class <br />

{<br />

<br />

<br />

}<br />

Identificadores válidos<br />

Devem iniciar com uma letra maiúscula, e<br />

tem uma letra maiúscula para cada palavra<br />

no nome da classe. Por exemplo:<br />

NomeDaClasse.<br />

Java faz diferenciação entre maiúsculas e minúsculas.<br />

Declaração dos atributos<br />

Declaração dos atributos<br />

Identificadores válidos<br />

Devem iniciar com uma letra minúscula,<br />

demais palavras iniciam em maiúsculas<br />

Variáveis são compostas por substantivos ou<br />

adjetivos:<br />

nome, saldo, enderecoComercial<br />

Tipos de dados<br />

Inteiro: int<br />

Real: double<br />

Lógico: boolean<br />

private ;<br />

Exemplos:<br />

private int idade;<br />

private double salario;


Declaração dos atributos<br />

O que significa private?<br />

Significa que os dados somente podem ser<br />

acessados pelos objetos aos quais<br />

pertencem.<br />

Atributos são sempre private.<br />

Classe Lampada<br />

Como iremos codificar a classe<br />

Lampada?<br />

Quais atributos ela necessita?<br />

Classe Lampada<br />

public class Lampada<br />

{<br />

private boolean estado;<br />

<br />

}<br />

Exercícios<br />

Implemente as estruturas de classe para os<br />

exemplos apresentados nos slides<br />

anteriores:<br />

Fracao<br />

Quadrado<br />

Implemente as estruturas de classe para os<br />

exemplos apresentados nas aulas<br />

anteriores:<br />

Parquimetro<br />

Carro<br />

Conta

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!