Originariamente inviato da andbin
Non ho detto che ne puoi fare solo 1!!! Ho detto che siccome la classe ha 2 campi di istanza nome/numero, allora 1 istanza "modella" 1 contatto. Ed è chiaro che puoi creare più istanze, quindi più contatti.

E questo porta alla questione che dicevo. Se una classe ha già come responsabilità principale quella di modellare una entità .... perché devi fargli fare altro e di tutto e di più??

Vuoi sapere come sarebbe più logico?
- Una classe Contatto che modella solo 1 contatto. I campi per i dati, il costruttore/i che ritieni utili e i metodi getter/setter per gestire le proprietà (più eventuali metodi come equals(), hashCode(), toString() ....). Punto, solo questo.
- Una classe Rubrica che modella un "insieme" di contatti. Quindi potrebbe logicamente avere una collezione di oggetti Contatto. Con tutti i metodi sensati per gestire l'insieme (aggiunta, rimozione, ricerche ....). Punto.
- Una classe IORubrica che ha i metodi per leggere/scrivere da/su file oggetti Rubrica. Punto.

I nomi delle classi sono a scelta libera, ovviamente, io ho solo fatto un esempio.

La vedi la separazione dei ruoli??? O no?

Comunque vista la tua risposta e il tuo approccio iniziale nel codice, potrei dedurre che hai poca familiarità con i concetti della OOP.
Ok ci provo grazie