Você está na página 1de 4

LISTA ORIENTAO A OBJETOS

1) Escreva em Java uma classe Contador, que encapsule um valor usado


para contagem de itens ou eventos. A classe deve oferecer mtodos
que devem:
a) Zerar;
b) Incrementar;
c) Retornar o valor do contador.
2) Escreva em Java uma classe Ponto2D que represente um ponto no plano
cartesiano. Alm dos atributos por voc identificados, a classe
deve oferecer os seguintes membros:
a) Construtores sobrecarregados que permitam a inicializao do
ponto:
i) Por default (sem parmetros) na origem do espao 2D;
ii)
Num local indicado por dois parmetros do tipo double
(indicando o valor de abcissa e ordenada do ponto que est
sendo criado);
iii) Em um local indicado por outro ponto.
b) Mtodos de acesso (getter/setter) dos atributos do ponto;
c) Mtodos sobrecarregados de movimentao do ponto com os mesmos
parmetros indicados para os construtores;
d) Mtodo de comparao semntica do ponto (equals);
e) Mtodo de representao do objeto como String;
f) Mtodo que permita calcular a distncia do ponto que recebe a
mensagem, para outro ponto;
g) Mtodo que permita a criao de um novo ponto no mesmo local do
ponto que recebeu a mensagem (clone);
3) Escreva em Java uma classe NumeroComplexo, que representa um nmero
complexo. A classe deve fornecer as seguintes operaes:
a) Construtor com valores das partes inteira e fracionria;
b) Mtodos getter/setter para os atributos da parte inteira e parte
imaginria;
c) Mtodo somar, que recebe outro nmero complexo e o adiciona ao
nmero complexo que recebeu a mensagem. (a+bi)+(c+di) = (a+c)+
(b+d)i;
d) Mtodo subtrair, que recebe outro nmero complexo e o subtrai do
nmero complexo que recebeu a mensagem. (a+bi)(c+di) = (ac)+
(bd)i;
e) Mtodo multiplicar, que recebe outro nmero complexo e o
multiplica ao complexo que recebeu a mensagem: (a+bi) * (c+di) =
(acbd)+(ad+bc)i;
f) Mtodo dividir, que recebe outro nmero complexo e o divide ao
complexo que recebeu a mensagem: (a+bi) / (c+di) = (ac+bd)/(c2 +
d2) + (bc-ad)/(c2 + d2)i;
g) Um mtodo de comparao semntica dos nmeros complexos;
h) Um mtodo que gere e retorne a representao string do nmero
complexo;
i) Um mtodo que retorne o mdulo do nmero complexo.
4) Escreva em Java uma classe que represente
Fornea os seguintes membros de classe:

uma

reta

(y=ax+b).

a) Construtores sobrecarregados que criem uma reta a partir de:

b)
c)
d)
e)

i) Dois valores, representando o coeficiente angular e o


coeficiente linear da reta;
ii)
Dois pontos;
Mtodos de acesso para o coeficiente angular e para o
coeficiente linear da reta;
Um mtodo que verifique se um ponto dado pertence a reta;
Um mtodo que gere e retorne a representao String da reta;
Um mtodo que dada uma outra reta, retorne o ponto de interseo
da reta dada ou null se as retas forem paralelas.

5) Escreva em Java uma classe que represente um circulo no plano


cartesiano. Fornea os seguintes membros de classe:
a) Um construtor que receba o raio e um ponto (o centro do
crculo);
b) Um construtor que receba o raio e posicione o crculo na origem
do espao cartesiano;
c) Mtodos de acesso ao atributo raio do crculo;
d) Mtodos inflar e desinflar, que, respectivamente, aumentam e
diminuem o raio do crculo de um dado valor;
e) Mtodos
sobrecarregados,
inflar
e
desinflar,
que,
respectivamente, aumentam e diminuem o raio do crculo de uma
unidade;
h) Mtodos sobrecarregados mover, que:
i) por default (sem parmetros) levam o crculo para a origem do
espao 2D;
ii)
movem o crculo para um local indicado por dois parmetros
do tipo double (indicando o valor de abcissa e ordenada do
ponto para onde o crculo se move);
iii) movem o crculo para o local indicado por outro ponto.
f) Mtodo que retorna a rea do crculo
6) Escreva uma classe que represente um pas. Um pas representado
atravs dos atributos: cdigo ISO 3166-1 (ex.: BRA), nome (ex.:
Brasil), populao (ex.: 193.946.886) e a sua dimenso em Km 2 (ex.:
8.515.767,049). Alm disso, cada pas mantm uma lista de outros
pases com os quais ele faz fronteira. Escreva a classe em Java e
fornea os seus membros a seguir:
a) Construtor que inicialize o cdigo ISO, o nome e a dimenso do
pas;
b) Mtodos de acesso (getter/setter) para as propriedades cdigo
ISSO, nome, populao e dimenso do pas;
c) Um mtodo que permita verificar se dois objetos representam o
mesmo pas (igualdade semntica). Dois pases so iguais se
tiverem o mesmo cdigo ISO;
d) Um mtodo que informe se outro pas limtrofe do pas que
recebeu a mensagem;
e) Um mtodo que retorne a densidade populacional do pas;
f) Um mtodo que receba um pas como parmetro e retorne a lista de
vizinhos comuns aos dois pases.
Considere que um pas tem no mximo 40 outros pases com os quais ele
faz fronteira.
7) Escreva em Java uma classe Continente. Um continente possui um nome
e composto por um conjunto de pases. Fornea os membros de
classe a seguir:
a) Construtor que inicialize o nome do continente;
b) Um mtodo que permita adicionar pases aos continentes;
c) Um mtodo que retorne a dimenso total do continente;
d) Um mtodo que retorne a populao total do continente;
e) Um mtodo que retorne a densidade populacional do continente;
f) Um mtodo que retorne o pas com maior populao no continente;

g) Um mtodo que retorne o pas com menor populao no continente;


h) Um mtodo que retorne o pas de maior dimenso territorial no
continente;
i) Um mtodo que retorne o pas de menor dimenso territorial no
continente;
j) Um mtodo que retorne a razo territorial do maior pais em
relao ao menor pas.
8) Escreva uma classe Pessoa que representa uma pessoa numa rvore
genealgica. A pessoa possui um nome, um pai e uma me (que tambm
so pessoas). Fornea os seguintes membros para a classe:
a) Construtores sobrecarregados que:
i) inicialize o nome da pessoa, bem como seus antecessores (pai
e me);
ii)
inicialize o nome da pessoa, e coloque seus antecessores
para null;
b) Um mtodo que verifique a igualdade semntica entre duas pessoas
(as pessoas so iguais se possuem o mesmo nome e a mesma me);
c) Um mtodo que verifique se duas pessoas so irms;
d) Um mtodo que verifique se uma pessoa antecessora da pessoa
que recebeu a mensagem ( seu pai ou sua me, ou antecessor do
pai ou antecessor da me).

9) Escreva uma classe Conjunto, que represente um conjunto de tamanho


varivel (crescimento de array por demanda) de elementos do tipo
String. Escreva os seguintes membros para a classe:
a) Um mtodo que permita adicionar um elemento para o conjunto (o
elemento no pode existir no conjunto);
b) Um mtodo que permita verificar se um dado elemento pertence ao
Conjunto;
c) Um mtodo uniao, que retorne um novo conjunto de acordo com a
semntica da operao unio entre conjuntos (um novo conjunto,
sem elementos repetidos, com a combinao dos elementos dos dois
conjuntos originais, o que recebeu a mensagem e o que foi
passado como parmetro);
d) Um mtodo inter, que retorne um novo conjunto de acordo com a
semntica da operao interseo entre conjuntos(um novo
conjunto, sem elementos repetidos, com os elementos que estejam
nos dois conjuntos originais ,o que recebeu a mensagem e o que
foi passado como parmetro);
e) Um mtodo menos, que retorne um novo conjunto de acordo com a
semntica da operao subtrao entre conjuntos (um novo
conjunto, sem elementos repetidos, com os elementos do conjunto
que recebeu a mensagem, e que no existam no conjunto passado
como parmetro).

10)

Crie uma classe Matriz que represente uma matriz matemtica.


Fornea os mtodos adequados para as seguintes operaes com
matriz:
a) Retornar a transposta ( aquela onde as linhas se transformam em
colunas e as colunas em linhas) da matriz.
b) Retornar a oposta ( aquela onde todos os elementos possuem
sinais trocados) da matriz.
c) Crie a matriz nula ( aqueles onde todos os elementos so iguais
a 0).

d) Informe se a matriz identidade (matriz quadrada onde os


elementos da diagonal principal so todos iguais a 1 e os demais
0).
e) Informe se a matriz diagonal (matriz quadrada onde os
elementos fora da diagonal principal so todos iguais a 0).
f) Informe se a matriz singular (matriz diagonal onde os
elementos da diagonal principal so todos iguais).
g) Informe se a matriz simtrica (uma matriz quadrada dita
simtrica se ela igual a sua transposta).
h) Informe se a matriz anti-simtrica (uma matriz quadrada dita
anti-simtrica se sua oposta igual a sua transposta)
i) Adicionar duas matrizes.
j) Subtrair duas matrizes.
k) Multiplicar duas matrizes.