Classe nodo - quiz a risposta multipla

di il
3 risposte

Classe nodo - quiz a risposta multipla

Salve a tutti.
 class Nodo implements Cloneable {
      public Nodo next;
      public Object elem;
      public Object clone () {
              Nodo copia=(Nodo)super.clone ();
              return copia;
      } 
  } 
  
Una sola delle seguenti affermazioni è corretta. Quale?

a. Il metodo clone della classe Nodo effettua una copia profonda della lista collegata la cui testa è rappresentata dall'oggetto di tipo Nodo su cui è invocato.
b. La classe Nodo provoca un errore a tempo di compilazione.
c. Il metodo clone della classe Nodo provoca un errore a tempo di esecuzione.
d. Il metodo clone della classe Nodo effettua una copia campo per campo dell'oggetto di classe Nodo su cui è invocato.

Qual è la risposta corretta, secondo voi? E perché? Io avevo messo la d., ma il correttore mi dice che è sbagliata. Il problema è che non mi dice quale sia quella giusta.

Grazie

3 Risposte

  • Re: Classe nodo - quiz a risposta multipla

    Indizio: guarda sulla documentazione javadoc di Object come è la dichiarazione completa di clone().

    (il super.clone (); che invoca è proprio quello di Object)
  • Re: Classe nodo - quiz a risposta multipla

    andbin ha scritto:


    Indizio: guarda sulla documentazione javadoc di Object come è la dichiarazione completa di clone().
    Questa?
    protected Object clone()
                    throws CloneNotSupportedException
    Ho copiato ed incollato la classe nodo che ho postato, nell'IDE il quale mi segna un errore a tempo di compilazione e mi fa aggiungere il rilancio dell'eccezione. Dunque è la b?
  • Re: Classe nodo - quiz a risposta multipla

    davide.fruci ha scritto:


    Questa?
    protected Object clone()
    throws CloneNotSupportedException
    Esatto. E la questione del CloneNotSupportedException è abbastanza "fine", nel senso che il suo trattamento va valutato caso per caso, perché ci sono diversi scenari possibili.

    davide.fruci ha scritto:


    Dunque è la b?
    Sì.
Devi accedere o registrarti per scrivere nel forum
3 risposte