Em Java; Como faria soma em abstração?

Eu tenho uma dúvida, como por exemplo eu faria para criar um método somador que recebe dois valores numéricos e faz a soma destes. Usando o conceito de classes abstratas, e o método receberá dois valores de um tipo abstrato e executa a soma destes. os valores terão que ser tipo Float, Integer, Decimal.

Eu faria uma classe abstrata soma e faria essas coisas?

abstract Number somar(Number a, Number b);

eu tinha feito assim agora a pouco novamente:
public double A;
public double B;

entao fiz assim: abstract Number somar(Number a, Number b);
oq vc mandou

mas se eu quiser trocar o number por numero, prq dá erro?

Sem ver seu código, não dá pra adivinhar o que você fez.
Mas se você quiser mudar a assinatura de Number para double, vai ter que mudar a assinatura também na classe abstrata e não somente na classe concreta.

eu só fiz isso por enquanto, na verdade tentei uma coisa e nem mandei aqui(apaguei ela)

eu agora fiz apenas a classe abastrac

public abstract double calculaA();
public abstract double calculaB();

Dai eu faria uma outra Classe A como Float?

Acho que você está confundindo abstração com sobrecarga de métodos.

qual a diferenca de ```
abstract Number somar(Number a, Number b);


public abstract class Soma {
    
 protected Double valor1;
 protected Double valor2;

        
        
    
    
    
    
}


?

Cara!! eu acho q consegui, mas n sei se é o que pede:

import java.util.Scanner;

public abstract class Soma {
int a, b, s;

abstract void input();
abstract void add();
abstract void resultado();
Scanner sc = new Scanner(System.in);

}


class Main extends Soma {

void input() {
    System.out.print("Entre com dois numers: ");
    a = sc.nextInt();
    b = sc.nextInt();
}

void add() {
    s = a + b;
}

void resultado() {
    System.out.print("Soma dos dois números:" + s);
}

public static void main(String args[]) {
    Main st = new Main();
    st.input();
    st.add();
    st.resultado();
}

}


ele dá certo, rida, sai o resultado, mas é o que pede?

Não sei, você não postou o enunciado.

ah pergunta meio q era, mas aqui

Objetivo: criar um método somador que recebe dois valores numéricos e faz a soma destes. Usando o conceito de classes abstratas, este método receberá dois valores de um tipo abstrato e executa a soma destes.

Tipos aceitos: os valores numéricos recebidos podem ser de qualquer tipo, por exemplo: Float, Integer, Decimal.

Aqui já dá pra dizer que você errou.
O exercício pede para criar um método que receba dois valores.
Você criou três métodos que não recebem nada.

Aqui não está claro se os parâmetros precisam ser de um tipo de dado abstrato ou se é um tipo abstrato quem vai passar os parâmetros.
Tem que esclarecer isso.

Aqui está dizendo que você pode implementar utilizando qualquer um desses tipos ou o método precisa funcionar com todos esses tipos?
Também precisa esclarecer isso.

1 curtida

O grande problema é o exercício na minha opinião… Não sei se isso é exercício de livro, curso técnico ou faculdade, mas esse tipo de exercício, dado dessa forma, mais confunde do que ensina. Eu acho meio bizarro dar um exercício de herança envolvendo operações que a linguagem já suporta a não ser se fosse algo envolvendo tipos que o usuário vai criar, mas mesmo assim, algo mais próximo da realidade, como um exemplo que gosto muito envolvendo formas geométricas, na minha opinião, é algo muito mais construtivo. Não nos esqueçamos também do famigerado exemplo do Animal, Gato (miau) e Cachorro (auau) que tbm acho uma verdadeira b**ta.

1 curtida

Acho que pode ser ser qualquer um, mas é bom testar

Aqui não está claro se os parâmetros precisam ser de um tipo de dado abstrato ou se é um tipo abstrato quem vai passar os parâmetros.// sobre isso, eu nem sei, perguntei minha duvida ao professor e ele só visualizou e nem respondeu

é de curso técnico, estudo em uma federal, é como ficaram meses sem dar nada, e voltaram em 2020 lá para o final do ano, dai pararam e voltaram a uns meses, e usemos um de forma geo como exemplo, tentei pegar a base para esse exercicio, e de animais nem cheguei a usar com esse professor