37
« il: 23 Agosto 2008, 18:20:53 »
Ehilà! Ben tornati dalle vacanze!!
Mentre me ne stavo con le pal... ehm, con i piedi a mollo nel Golfo dell'Asinara, riflettevo e facevo delle prove sul mio fido portatile per vedere se riesco a capire meglio l'uso degli oggetti.
Mi sono venuti diversi dubbi, ma uno in particolare mi ha dato da pensare parecchio e non sono riuscito a darmi una risposta.
Sto realizzando un progettino per la gestione della fatturazione (sono libero professionista) che mi permetta anche di capire come funziona il nostro Gambas.
Non conoscendo la programmazione OO l'ho fatto in maniera, diciamo così, tradizionale. Poi ho deciso di fare un nuovo progetto dove invece vorrei utilizzare le funzioni degli oggetti.
Uno di questi oggetti potrebbe essere, per esempio, la classe dei Clienti, che possiamo chiamare clsCliente.
Ho visto che quando si creano nuove proprietà (che direi che possiamo assimilare ai campi di un record), si creano automaticamente delle funzioni GET e SET, che servono per leggere o modificare ogni proprietà.
Molto bello, ma mi ha fatto venire questo dubbio: io ho i dati del mio cliente su un record che si trova in un file (oppure i dati verranno prima o poi scritti su tale record), in che modo devo leggerli da tale file?
Mi spiego meglio, perché detta così non si capisce: quando scrivo il codice per la funzione GET del campo RagioneSociale, tanto per dire, devo fare in modo che mi venga recuperato il record e mi venga letto il campo? E la stessa cosa devo fare con il SET?
Perché mi dà l'impressione che in questo modo la cosa diventi molto ma molto pesante da eseguire, no?
La risposta che mi sono dato, ma che non mi convince del tutto, è una cosa come questa: quando creo la funzione (non si chiama funzione, ma non ricordo come si chiama... forse metodo?) che CREA una nuova istanza del nostro codice, posso accettare un parametro di input che potrebbe essere, tanto per dire, il codice del cliente. A questo punto, vado sul DB e se il codice esiste popolo tutti i campi con i valori che mi interessano, pronti da essere forniti con il nostro GET, altrimenti creo un record vuoto e inizializzo tutti i campi a zero (o a blank o a quello che serve, insomma...)
E' così che si dovrebbe fare?
A me non sembra male, anche perché a questo punto anche i metodi come SEARCH oppure SearchByName, che permetta di ricercare un codice attraverso la ragione sociale, avrebbero decisamente un senso, no?
Ho provato a guardare qualche esempio che contenga delle classi, ma sinceramente sono troppo "avanzati" per il mio livello di conoscenza :)
Come sempre, grazie per l'attenzione e per l'aiuto :)