Preciso de ajuda para um trabalho de programacao em java

4 respostas
java
J
O que tem que ser feito é o seguinte: Tenho que criar 2 classes com heranças, uma de Animal que tem como classes filhas gato e cachorro, e Pessoa que tem como class filha Rica, Pobre e Miseravel (nao me pergunte por que meu professor decidiu isso) mas beleza, a classe de animal funcionou de boas porem comecou a dar problema no de pessoa, pois eu nao sei como cacetes eu vou instaciar essas classes, afinal como eu istancio uma classe Miseravel

Segue abaixo o enunciado do meu professor e os codigos dos tetes e das classes

<div class="lightbox-wrapper"><a class="lightbox" href="https:/uploads/3X/3/e/3e8994782e9828497745b884c1265c3eb388a03e.png.webp" data-download-href="/uploads/default/3e8994782e9828497745b884c1265c3eb388a03e" title="image.png"><img src="/uploads/3X/3/e/3e8994782e9828497745b884c1265c3eb388a03e.png.webp" alt="image" data-base62-sha1="8VemKfro7wE5BhWLqhaRDWsXlNA" width="690" height="387" srcset="/uploads/3X/3/e/3e8994782e9828497745b884c1265c3eb388a03e.png.webp, /uploads/3X/3/e/3e8994782e9828497745b884c1265c3eb388a03e.png.webp 1.5x, /uploads/3X/3/e/3e8994782e9828497745b884c1265c3eb388a03e.png.webp 2x" data-small-upload="/uploads/3X/3/e/3e8994782e9828497745b884c1265c3eb388a03e.png.webp"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg>image.png1366×768 77.6 KB<svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg>
</div></a></div>

//Teste geral (No caso para instaciar as classes)

public class Jonathan_Geral {

public static void main(String[] args) {

//Estatus Monetario

Rica r1 = new Rica(5000);

Pobre p1 = new Pobre();

Miseravel m1 = new Miseravel();

//Cachorro

Cachorro c1 = new Cachorro (“Brutos”);

c1.setRaca(“Viralata Caramelo”);

//Gato

Gato g1 = new Gato(“Gorda”);

g1.setRaca(“Siames”);
System.out.println("========== ANIMAL ===========");
    System.out.println("========== CACHORRO =============" );
    System.out.println("Nome: " + c1.getNome());
    System.out.println("Raca: " + c1.getRaca());
    
    System.out.println("=========== GATO ==========");
    System.out.println("Nome: " + g1.getNome());
    System.out.println("Raça: " + g1.getRaca());
    
    System.out.println("========== PESSOA ==========");
    System.out.println("Status monetario: " );
    
}
}

//Classe pessoa

public class Pessoa {

private String nome;

private Integer idade;
Pessoa(String w) {
  
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public Integer getIdade() {
    return idade;
}

public void setIdade(Integer idade) {
    this.idade = idade;
}

public Pessoa(){
    
}

}

//Classe rica

public class Rica extends Pessoa{

private double dinheiro;
public Rica(double dinheiro) {
    this.dinheiro = dinheiro;
}

public void fazCompra (){
    System.out.println("Faz compra");
}
}

//Classe Pobre

public class Pobre extends Pessoa {
public Pobre() {
}
public void Trabalhar (){

System.out.println(Trabalha e nao ganha nada);

}

}

//Classe Miseravel
public class Miseravel {

public void mendiga(){
    System.out.println("Vai pro sinal encher o saco");
}

}

obs: nao sou muito bom em programacao, porem to tentando melhorar, entao se alguem ver isso e pensa “Meu amigo que bosta” por favor tente so me ajudar a concertar

4 Respostas

I

Pelo diagrama de classes, a classe Animal é abstrata, mas a classe Pessoa não, isto é, é uma classe concreta. Qual á sua dificuldade exatamente?

Obs.: a classe Miseravel deve estender a classe Pessoa.

J

(ja fiz o exetend em pessoa) é como istanciar o pessoa, por que quando eu istancio uma pessoa rica eu nao consigo colocar nome (eu nao faço a minima ideia de como explicar por falta de experiencia ;_:wink:

J

Eu consegui hawbdibawdbbabdi
eu ignorei o super()
e fiz dois construtor um com parametro e ou sem, e coloquei os getter e setters nos lugares certos, estou muito feliz Onfoieanfoinaofni
valeu…

F

Já consertou as linhas acima? Um construtor com parâmetro que não é aproveitado. Poderia colocar dois parâmetros: String e Integer e no construtor carregar os dois:

public Pessoa( String _nome, Integer _idade ) {
      nome = _nome;
      idade = _idade;
}

Uma das vantagens da herança é declarar o objeto como a classe ancestral. Assim teríamos:
Pessoa r1, p1, m1;
r1 = new Rica(5000);
p1 = new Pobre();
m1 = new Miseravel();

Se mais tarde m1 acertar na Mega-sena você poderia redefiní-lo:
m1 = new Rica(54000000);

Criado 30 de novembro de 2019
Ultima resposta 1 de dez. de 2019
Respostas 4
Participantes 3