Prima esercitazione: ereditarietà

Si vogliono rappresentare gli articoli di una enciclopedia. Ogni articolo ha un suo titolo; la maggior parte degli articolo ha anche un contenuto (un testo), ma alcuni articoli servono soltanto a indicare che l'articolo vero e proprio si trova sotto un altro titolo.

Prima parte

Scrivere le classi che servono a rappresentare i seguenti oggetti:

  1. articoli, che sono caratterizzati da un titolo; ogni articolo può essere un testo oppure un link, definiti sotto;
  2. testo: è un articolo che, oltre al titolo, contiene anche una stringa (il testo vero e proprio dell'articolo)
  3. redirezione: è un articolo che contiene anche un riferimento ad un altro articolo.

Seconda parte

La condizione a instanceof Testo ritorna true se in a c'è un oggetto di classe Testo; in generale, verifica se l'oggetto memorizzato in una variable è di una certa classe. In base a questo, aggiungere alla classe Articolo un metodo che stampa l'articolo se è di testo. Se è un oggetto redirezione, segue il link e tutti quelli eventualmente successivi fino a trovare un articolo di testo, che è quello che viene stampato.