Olá amigos, eu sou iniciado nisto do java, e como tal solicitava a vossa ajuda para resolver este problema que me foi posto num exame.
Considere uma aplicação gráfica de manipulação de figuras. Implemente parte do código, de uma forma robusta, considerando a POO com base no seguinte:
- Existe uma classe Ponto que aceita dois inteiros, x e Y; que só podem ser positivos;
- A classe Recta é constituída por dois pontos e devolve informação dos seus pontos em texto;
- A classe GUI, além de outros métodos, adiciona rectas e um array de rectas (Recta rectas[ ]).
Obg.
Ivan Barroso
Já tentou fazer?
Tenta aí e coloque as duvidas aqui…
[color=“red”]obs.: Topico movido para Java Básico (Iniciantes)[/color]
do pouco q sei eu faria assim:
public class Ponto (int x, int y){
x>0;
y>0;
}
public class Recta (P1,P2){
String P1, P2;
}
public class GUI extends rectas(){
}
isto é o pouco que sei, se me poderem ajudar eu agradeço, é que tenho perguntas de poutros exames muito semelhantes e sabendo esta acho que conseguiria fazer as outras.
obg
Na realidade essa notação x>0 não existe, tente criar os atributos x e y privados, e crie um metodo getX() e setX() e um getY() e setY(), o get retorna o valor, o set recebe o valor e coloca na variavel… aí dentro do set você coloca a verificação pra ver se o valor passado é positivo…
será que pode dar um exemplo
[code]public class Ponto{
private int x;
public void setX(int x){
if(x<0){
return;
}
this.x = x;
}
public int getX(){
return x;
}
}[/code]
Seria então isto?
public class Ponto{
private int x, int y;
public void setX(int x){
if(x<0){
return;
}
this.x = x;
}
public void setY(int y){
if(y<0){
return;
}
this.y = y;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
}
[quote]public class Ponto{
private int x, int y;[/quote]
Não coloque o tipo novamente…
public class Ponto{
private int x, y;
Esta está concluida, e as outras?
public class Ponto{
private int x, y;
public void setX(int x){
if(x<0){
return;
}
this.x = x;
}
public void setY(int y){
if(y<0){
return;
}
this.y = y;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
}
A classe Recta é a mesma coisa… a outra é onde você fará algum tipo de calculo, apresentação, sei lá… com essas classes…
Mas a classe recta devolve informação em texto, como faço isso?
É a mesma coisa ué, só que ao inves de int, é String.
Aqui não tenho q aplicar o extends para a classe Ponto?
Já agora quais são as formas de implementar comportamentos que n estão implementados?
Não tem que usar extends porque uma Recta não é um ponto, ela possui um ponto, então lá dentro da classe tem dois pontos, assim como o Ponto tem dois int…
Seria assim a classe Recta?
public class Recta{
private String x, y;
public void setX(String x){
if(x<0){
return;
}
this.x = x;
}
public void setY(String y){
if(y<0){
return;
}
this.y = y;
}
public String getX(){
return x;
}
public String getY(){
return y;
}
}
Na realidade não…
Como diz a sua especificação, uma Reta tem dois pontos, então o tipo é Ponto, não String…
São atributos da classe, assim como o x e o y são atributos de Ponto.
public class Recta{
private Ponto x, y;
public void setX(Ponto x){
if(x<0){
return;
}
this.x = x;
}
public void setY(Ponto y){
if(y<0){
return;
}
this.y = y;
}
public Ponto getX(){
return x;
}
public Ponto getY(){
return y;
}
}
Acho q assim fará mais sentido:
public class Recta{
private Ponto x, y;
public void setX(String x){
if(x<0){
return;
}
this.x = x;
}
public void setY(String y){
if(y<0){
return;
}
this.y = y;
}
public String getX(){
return x;
}
public String getY(){
return y;
}
}