Sei sulla pagina 1di 3

Programação Orientada a Objetos

■ Diagrama de Classe (UML)


Programação III
Circulo
t raio : float
diametro ()
Programação Orientada a Objetos area ()
Jocélio Passos comprimento ()
joceliodpassos@bol.com.br

2/6/2008 2

Programação Orientada a Objetos POO : Classe Círculo

■ class Circulo {
■ float raio; ■ double area ()
■ float x,y; // Coordenadas ■ {return Math.PI * Math.pow (this.raio,2);}

■ float diametro () ■ double comprimento ()


■ {return this.raio * 2f;} ■ {return 2 * Math.PI * this.raio;}
■ }

2/6/2008 3 2/6/2008 4

POO POO : Instanciando a Classe Círculo


■ Se nada for especificado (modificadores) a ■ class CriarCirculo
classe, os atributos e os métodos serão públicos ■ {public static void main(String[] args) throws Exception
■ A palavra chave “this” ... (pronome demonstrativo) ■ { Circulo circulo1 = new Circulo ();
■ circulo1.raio = 9f;
■ refere-se a atributos/métodos ...
■ System.out.println ("Informações do circulo de raio " +
■ da própria classe Deitel 364 [407] circulo1.raio);
■ Quando não especificamos a ... ■ System.out.println ("Diametro = " + circulo1.diametro ());
■ Super classe (classe pai) a ... ■ System.out.println ("Area = " + circulo1.area ());
■ System.out.println ("Comprimento = ” + circulo1.comprimento());
■ Classe criada herda ...
■ JUtil.pause ();
■ as características da classe Object ■ }
■ Deitel 337 / 338 [375, 376] ■ }

2/6/2008 5 2/6/2008 6

1
POO : Objetos POO : Classe Círculo
■ No momento da instância apenas os atributos ■ Altere a classe Circulo para receber o
são exclusivos do objeto comprimento em PI e devolver a área.
■ Os métodos ficam alocados em uma área – Exemplo : area do círculo com 18 π de
comum da memória ... comprimento
■ Para que possam ser acessados por outras –C=2πr
instâncias da classe – 18 π = 2 π r
– Circulo circulo1, circulo2;
–r=9
– circulo1 = new Circulo ();
– circulo2 = new Circulo (); – area = π 92
■ Assim circulo1 e circulo2 possuem .. – area = 81 π
■ Raios diferentes e usam o mesmo ...
■ Método (código) para calcular a area ().
2/6/2008 7 2/6/2008 8

POO : Classe Círculo POO : Classe Círculo

■ Criando o método ■ Chamando o método na classe CriarCirculo

■ ...
■ double area (float comprimento) ■ System.out.println ("Comprimento = ” +
■ // em PI circulo1.comprimento());
■ System.out.println ("Se o comprimento for 18 PI
■ {float raio; a area eh " + circulo1.area(18) + " PI ");
■ raio = comprimento / 2 ; ■ JUtil.pause ();
■ }
■ return (Math.pow (raio,2)); }
■ }

2/6/2008 9 2/6/2008 10

POO : OverLoading Exercícios


■ OverLoading significa sobre carga Deitel 263-265 ■ 1) Criar um programa que leia um raio e mostre o
[295-297] diâmetro, a área e o comprimento de um círculo.
■ Podemos chamar dois métodos com o mesmo Sair com zero.
nome
– Com parâmetros com tipos diferentes
■ 2) Refaça o exercício anterior, porém a classe
– Quantidade de parâmetros diferentes
Circulo conterá um método mostrarDados () que
■ public int quadrado (int x)
mostra o diâmetro, área e comprimento.
■ {return x * x;}
■ public double quadrado (double x)
■ {return x * x;} ■ 3) Crie um método na classe pessoa chamado
idade () que recebe um ano e devolve a idade da
■ x.quadrado(1); // Chamada a int quadrado pessoa naquele ano. Se necessário informe “Ainda
■ x.quadrado(2.0); // Chamada a double quadrado não era nascido !”

2/6/2008 11 2/6/2008 12

2
Exercícios Propostos Exercícios Propostos
■ 1) Crie uma classe Retângulo contendo os ■ 3) Leia a altura de duas pessoas e
atributos base e altura e os métodos área (base *
mostre o nome do mais alto e o valor
altura) e perímetro (2 * (base + altura)). Depois
crie um programa para ler a base e a altura e da diferença.
mostrar os dados do retângulo. Sair quando a ■ 4) Sistema de Estoque.
base do for zero. ■ Um produto contém código, nome,
quantidade, unidade, valor unitário e valor
■ 2) Crie uma Classe Cubo contendo o atributo total.
aresta (a) e os métodos area (6 * a2) e volume ■ Um cliente deseja cadastrar
(a3). Depois crie um programa para ler a aresta e
■ seus produtos e mostrar no final :
mostrar os dados do cubo.
■ * O produto mais caro

2/6/2008 13 ■ * O produto mais barato


2/6/2008 14

Exercícios Propostos Exercícios Propostos


■ * O produto que contem mais unidades ■ 5) Altere a Classe retangulo. Construa
■ * O produto que contem menos unidades um método que retorna se é ou não um
■ * O produto mais valioso no estoque quadrado. O mostrarDados deve incluir
(quantidade * valor unitário) esta informação.
■ * O produto menos valioso no estoque
(quantidade * valor unitário)
■ * Quanto vale seu estoque (somatório do
valor total de todos os produtos).

2/6/2008 15 2/6/2008 16

Potrebbero piacerti anche