a cura di Dario Dariol
 
     

    Esercizio 008 - Subclassing

     
    Consideriamo il seguente esempio dove si utilizza il sublassing di Java:
     
    class Super {
      int what = 1;
      void printThis() { System.out.print(what); }
      Super() { printThis(); }
    }

    class Under extends Super {
      int what = 3;
      void printThis() { System.out.print(what); }
      Under() { printThis(); }
    }

    class Quiz8 {
      public static void main(String[] args) {
        new Super();
        new Under();
      }
    }
  • Si tratta solo di una complicata maniera di stampare 113?
  • Cosa cambia se nelle due dichiarazioni di what si aggiunge un final?

Come al solito non occorre compilare ed eseguire il pezzo di codice sopra illustrato. Bisogna invece ragionare su di esso e riuscire a rispondere ai due problemi posti usando solo la specifica del linguaggio. Quando si è ragionevolmente sicuri delle due risposte allora (e solo allora!) è possibile verificarle tramite un run di prova e/o leggere il mio commento su queste colonne tra due mesi.




MokaByte®  è un marchio registrato da MokaByte s.r.l.

Java® è un marchio registrato da Sun Microsystems; tutti i diritti riservati

E' vietata la riproduzione anche parziale
Per comunicazioni inviare una mail a
mokainfo@mokabyte.it