Sto cercando di creare una classe Frazione ma ho un problema con il metodo somma. La classe Frazione è molto semplice: ha solo due parametri a e b (rispettivamente il numeratore e il denominatore). Vorrei che il metodo somma venisse invocato su un oggetto Frazione passando per parametro un secondo oggetto Frazione da sommare. Il metodo restituisce il puntatore ad un oggetto Frazione.



codice:
    public Frazione somma(Frazione frz) {
        //se uno dei 2 numeratori è 0 allora la somma è l'oggetto che ha il numeratore diverso da 0
        //se tutte e 2 le frazioni hanno il numeratore uguale a 0 viene gestito dal primo if sempre restituendo il puntatore all'oggetto su cui il metodo è stato invocato (dato che 0/n = 0)
              
        //dichiaro il numeratore e denominatore della frazione somma
        int num, den;

                
        if(a==0)
                          //il problema è alla prossima riga di codice, quello che vorrei fare è:
                          //ritorna il puntatore all'oggetto su cui il metodo somma è stato chiamato.
              return (.......);
                         //Cosa scrivo all'interno del return?


         //calcoli vari

        //creazione della frazione e ritorno del puntatore
         
        return new Frazione(num,den);
    }



E' corretto quello che sto cercando di fare? Cosa scrivo all'interno del return?
Il programma sarebbe più leggibile se creassi un metodo statico da cui passo 2 oggetti Frazione e restituisco un nuovo oggetto Frazione (la somma delle due frazioni passate per parametro)?