Ajuda com exercicios

Gente será que alguem poderia verificar se esta certo este exercicio? To precisando muito!

//1. Crie uma classe abstrata que represente um
quadrilátero
//e receba como parâmetros do construtor os quatro valores referentes
a cada lado.

[code]package modulo10;

public abstract class Quadrilatero {
int lado1,lado2,lado3,lado4;

    public Quadrilatero (int lado1,int lado2,int lado3,int lado4){ 
            this.lado1 = lado1; 
            this.lado2 = lado2; 
            this.lado3 = lado3; 
            this.lado4 = lado4; 
    } 

} [/code]

//Nao acho que esteja correto, espero que outras pessoas postem mais
respostas aqui.
//Vamos dar uma força a quem quer aprender, valews.(no caso eu e
outros).

/2. Estenda a classe criada no exercício 1, a subclasse deve
representar
um quadrado e portanto receber como parâmetro um único valor
referente
aos seus lados.
/

[code]package modulo10;

public class Quadrado extends Quadrilatero{

    public Quadrado(int lado1, int lado2, int lado3, int lado4) { 
            super(lado1, lado2, lado3, lado4); 
            // TODO Auto-generated constructor stub 
    } 

} [/code]

//nao sei se esta correto, quem poder corrigir eu agradeço.

/3. Estenda novamente a classe criada no exercício 1, a subclasse
deve representar
um retângulo e portanto deve receber como parâmetros
dois valores
diferentes.
/

[code]package modulo10;

public class Retangulo extends Quadrilatero{

    public void Quadrilatero(int lado1, int lado2, int lado3, int lado4) 

{
super(lado1, lado2, lado3, lado4);
// TODO Auto-generated constructor stub
}
int lado1,lado2,lado3;
public void Retangulo(int lado1,int lado2,int lado3){
this.lado1 = lado1;
this.lado2 = lado2;
this.lado3 = lado3;
}

} [/code]

//Da um erro, nao sei qual e…

/4. Crie uma interface denominada FiguraGeometrica,
adicione os métodos calcular
área e calcular perímetro.
/
[/code]package modulo10;

public abstract interface FiguraGeometrica {

    public abstract void calcularArea(); 


    public abstract void calcularPerimetro(); 

}

[code]

Gente e este é o ultimo!

/5. Modifique a classe abstrata criada no exercício 1 de forma que
ela implemente a
interface FiguraGeométrica.
/

[code]package modulo10;

public abstract class Quadrilatero implements FiguraGeometrica {
int lado1, lado2, lado3, lado4;

    public Quadrilatero(int lado1, int lado2, int lado3, int lado4) { 
            this.lado1 = lado1; 
            this.lado2 = lado2; 
            this.lado3 = lado3; 
            this.lado4 = lado4; 
    } 


    public void calcularArea(){ 
            //metodo de calcular area... 
    } 


    public void calcularPerimetro(){ 
            //metodo de calcular area... 
    } 

}

[/code]

Pessoal, por favor postem as respostas aqui para que possamos discutir
as soluçoes encontradas, obrigado.

Se alguem puder AJUDAR!

[quote=nathans]/2. Estenda a classe criada no exercício 1, a subclasse deve
representar
um quadrado e portanto receber como parâmetro um único valor
referente
aos seus lados.
/

[code]package modulo10;

public class Quadrado extends Quadrilatero{

    public Quadrado(int lado1, int lado2, int lado3, int lado4) { 
            super(lado1, lado2, lado3, lado4); 
            // TODO Auto-generated constructor stub 
    } 

} [/code]

//nao sei se esta correto, quem poder corrigir eu agradeço.

[/quote]
Em um quadrado, todos os lados são iguais, então não deve ter quatro valores no construtor…

Hauahuahauhauahauahuahauahuahauahauahuahauahuahauahauahuahauahuahauahauahauahauahauahuahauahauauha

acho que bateu o recorde…

[quote=nathans]/3. Estenda novamente a classe criada no exercício 1, a subclasse
deve representar
um retângulo e portanto deve receber como parâmetros
dois valores
diferentes.
/

[code]package modulo10;

public class Retangulo extends Quadrilatero{

    public void Quadrilatero(int lado1, int lado2, int lado3, int lado4) 

{
super(lado1, lado2, lado3, lado4);
// TODO Auto-generated constructor stub
}
int lado1,lado2,lado3;
public void Retangulo(int lado1,int lado2,int lado3){
this.lado1 = lado1;
this.lado2 = lado2;
this.lado3 = lado3;
}

} [/code]

//Da um erro, nao sei qual e…

[/quote]
Voce colocou um construtor de outra classe dentro da classe Retangulo…

[quote=adriano_si]Hauahuahauhauahauahuahauahuahauahauahuahauahuahauahauahuahauahuahauahauahauahauahauahuahauahauauha

acho que bateu o recorde…[/quote]
Concordo 8)
Mas não estamos aqui pra criticar… e já que ele ja fez, veio apenas tirar dúvidas, não vejo mal algum em ajudar…

[quote=drigo.angelo][quote=adriano_si]Hauahuahauhauahauahuahauahuahauahauahuahauahuahauahauahuahauahuahauahauahauahauahauahuahauahauauha

acho que bateu o recorde…[/quote]
Concordo 8)
Mas não estamos aqui pra criticar… e já que ele ja fez, veio apenas tirar dúvidas, não vejo mal algum em ajudar…[/quote]

To aflito tenho que entregar isto hj! :?

[quote=nathans]/4. Crie uma interface denominada FiguraGeometrica,
adicione os métodos calcular
área e calcular perímetro.
/

[code]package modulo10;

public abstract interface FiguraGeometrica {

    public abstract void calcularArea(); 


    public abstract void calcularPerimetro(); 

}

[/code][/quote]
Muda ai pra ficar mais facil a visualização…

creio que

public interface FiguraGeometrica { 

seria mais correto…

[quote=nathans]Gente e este é o ultimo!

/5. Modifique a classe abstrata criada no exercício 1 de forma que
ela implemente a
interface FiguraGeométrica.
/

[code]package modulo10;

public abstract class Quadrilatero implements FiguraGeometrica {
int lado1, lado2, lado3, lado4;

    public Quadrilatero(int lado1, int lado2, int lado3, int lado4) { 
            this.lado1 = lado1; 
            this.lado2 = lado2; 
            this.lado3 = lado3; 
            this.lado4 = lado4; 
    } 


    public void calcularArea(){ 
            //metodo de calcular area... 
    } 


    public void calcularPerimetro(){ 
            //metodo de calcular area... 
    } 

}

[/code][/quote]
Dica: estude mais sobre classes abstratas e herança, tem bastante coisa na apostila fj11 da caelum, so pesquisar no google…

tira a implementação dos métodos da classe abstrata (por isso que ela é abstrata…), fica ± assim:

public void calcularArea();

isso mesmo sem {} e com ;

a implementação você coloca nas classes que extendem a classe abstrata (vai colocar os métodos na classe quadrado e na classe retângulo)
caso não saiba como calcular area/perimetro dessas formas geometricas, pesquise no google, com certeza tem!

no demais não encontrei nenhum erro muito significativo… (fora os nomes dos lados da classe abstrata que eu colocaria como direito/esquerdo/superior/inferior, fica mais facil…)

A classe retangulo também esta recebendo os 4 lados…
[size=18] leia o enunciado…[/size]

Espero ter ajudado…
mas agora ja to saindo

[]'s

[quote=drigo.angelo]A classe retangulo também esta recebendo os 4 lados…
[size=18] leia o enunciado…[/size]

Espero ter ajudado…
mas agora ja to saindo

[]'s[/quote]

Valeu pelas dicas, vou tentar arrumar aqui!

Alguem mais poderia dar alguma dica?
Ou mostrar alguma alteração?

Se o quadrado só recebe um lado, o seu construtor deve ser:

public Quadrado(int lado) {   
    //consegues agora pensar como será aqui?
    super(......);
}   

O mesmo para o Retangulo:

public Retangulo(int lado1, int lado2) { //consegues agora pensar como será aqui? super(......); }

[quote=drigo.angelo]tira a implementação dos métodos da classe abstrata (por isso que ela é abstrata…), fica ± assim:

public void calcularArea();  

isso mesmo sem {} e com ;
[/quote]
Porquê? Ela é abstrata mas pode sim ter a implementação do calculo do perímetro e da área, que será igual para todos os quadriláteros.

Correcção: O perímetro é igual para todos os quadriláteros, a área não.

Valeu pela ajuda!