Visualizzazione dei risultati da 1 a 2 su 2

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2015
    Messaggi
    2

    Ordinamento liste con classe astratta

    Ciao! Ho assolutamente bisogno di un consiglio. Ho un problema con degli ordinamenti poichè non so come gestirli in presenza di classi astratte.
    Mi hanno dato la seguente classe astratta:

    package BankServices;


    public abstract class Operation {

    public abstract String toString();
    }

    E le classi che la estendono:

    package BankServices;
    public class Deposit extends Operation implements Comparable{
    private int dataop;
    private double cifra;
    public Deposit (int dataop, double cifra){
    this.dataop = dataop;
    this.cifra = cifra;
    }
    public double getCifra(){
    return cifra;
    }
    @Override
    public String toString() {
    // TODO Auto-generated method stub
    return dataop + "," + cifra + "+";
    }
    }


    package BankServices;
    public class Withdrawal extends Operation{
    private int dataop;
    private double cifra;
    public Withdrawal (int dataop, double cifra){
    this.dataop = dataop;
    this.cifra = cifra;
    }
    public double getCifra(){
    return cifra;
    }
    @Override
    public String toString() {
    // TODO Auto-generated method stub
    return dataop + "," + cifra + "-";
    }
    }




    Mi chiedono di creare due liste di oggetti Deposit e Withdrawal ordinate per cifra decrescente e una lista di oggetti Operation ordinate per dataop decrescente. Potete scrivermi la soluzione? Non so proprio da che parte iniziare.

    Questi sono i metodi nella classe principale che restituisconole liste ordinate:

    public List<Operation> getMovements() {
    }

    public List<Deposit> getDeposits() {
    }


    public List<Withdrawal> getWithdrawals() {
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da aricho Visualizza il messaggio
    Mi chiedono di creare due liste di oggetti Deposit e Withdrawal ordinate per cifra decrescente
    Innanzitutto Comparable si usa per definire l'ordinamento che dovrebbe essere quello "naturale" per una certa classe di oggetti (es. per una classe Persona l'ordinamento naturale è per cognome e poi per nome).

    Quindi l'ordinamento per cifra è quello "naturale" per queste operazioni? Beh, sì, può essere accettabile, in mancanza di altre indicazioni o altri campi più rilevanti. Quindi dovresti implementare (e correttamente) Comparable nelle due classi. E possibilmente sfruttando i "generics" (se li conosci, altrimenti niente).

    Implementare Comparable significa definire un metodo compareTo (la firma cambia se usi i generics o no) che appunto compara l'oggetto this con un "altro oggetto" passato come argomento.

    Quote Originariamente inviata da aricho Visualizza il messaggio
    e una lista di oggetti Operation ordinate per dataop decrescente.
    Questo purtroppo è molto più dubbio. A livello di Operation non c'è alcuna conoscenza (per la definizione di Operation che hai mostrato) della dataop.

    Qui ci sono diverse possibilità ma non hai precisato cosa puoi e/o devi fare ...

    Quote Originariamente inviata da aricho Visualizza il messaggio
    Potete scrivermi la soluzione?
    No. (oltretutto lo scenario è abbastanza vago)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.