Le classi (più interfacce e compagnia bella) sono un modo per rappresentare una realtà. Lasciando perdere la "automobile" o il "gatto", vedo di farti un esempietto semplice.Originariamente inviato da Grambo
quando si usano le classi? o meglio quando è conveniente usarle?
Dobbiamo gestire delle anagrafiche cliente.
Cosa dovremo trattare? Nome, cognome, data di nascita, indirizzo.
Possiamo procedere in due modi. Il primo è il classico approcio procedurale. Creo il codice "d'un fiato" per trattare questi pochi dati. Select, insert, update, delete. In poche righe me la cavo e molto in fretta.
In questo specifico caso non ha senso usare le classi.
MA...
Ipotiziamo che domani chi ci ha commissionato questo semplicissimo sistema di gestione del cliente, vuole gestire anche le aziende. In procedurale ti trovi a dover riscrivere (bene o male) il 90% del codice: o adatti quello che hai scritto, o scrivi "ex novo" funzioni/codice molto simile a quello già scritto per trattare le aziende. Ok?
Bom. Dopodomani il tuo cliente di chiede di gestire anche i fornitori. Sei punto e a capo, dovrai rivedere tutto o quasi il tuo codice per "accogliere" queste nuove strutture.
Vediamola facendo con classi.
Se avessi deciso di fare "per classi", mi sarei creato una classe, cioè una specie di modello, di schema, che rappresenta un cliente, una classe (o più, non entriamo nel dettaglio) per gestire le info dal db (per meglio dire, sempre semplificando, per fare gli aggiornamenti, inserimenti, delete ecc), una o più per gestire la grafica (tabelle, header, form ecc). Avrei perso più tempo nel creare il tutto ma avrei un grosso vantaggio.
Domani, che il cliente mi chiede di gestire le aziende, dovrò solo creare una classe per gestire questa entià e, se ho fatto bene i compiti, non dovrò scrivere che poche righe...perchè? Perchè il cliente può essere visto come un "tipo" di azienda (o viceversa...è indifferente per questo eempio stupido) e quindi avrei riutilizzato il 70-80% di quanto ho già fatto per gestire il cliente.
Dopodomani che mi viene chiesto di trattare i fornitori, praticamente non dovrò scrivere quasi nulla...perchè il fornitore è anch'essa un'azienda...
Se tra 4 giorni mi viene chiesto di gestire gli impiegati dell'azienda fornitrice...secondo te cosa farò se uso le classi?

) e quindi avrei riutilizzato il 70-80% di quanto ho già fatto per gestire il cliente.
Rispondi quotando