' Rapid-Q by William Yu (c)1999-2000 . ' ================================================================================ ' Upload_il_tuo_script_su_Rapidq.it ' Programmazione_Object_Oriented Genesi Al principio c'era la variabile e il programmatore vide la variabile e disee "La variabile è buona permette di usare un nome simbolico per mantenere diversi valori MA io vorrei qualcosa per combinare diversi tipi di variabili insieme io vorrei chiamare questo gruppo di variabili con un unico nome simbolico io potrei quindi trattare il gruppo come una singola variabile" Così lentamente dalla variabile crebbe la UDT Ed il programmatore guardò la UDT(User Defined Type) e disse "La UDT è buona essa permette di usare un unico nome simbolico per un intero record di valori MA io vorrei avere qualcosa di simile per tutte le procedure che ho creato per trattare con la complessità della UDT da incorporare dentro e quindi proteggere la UDT dalle manipolazioni di codice non puro" Così dai records della UDT nacque il potente Object ed il programmatore guardò l'oggetto appena nato e disse "L'oggetto è buono I dati e le procedure che servono a gestirli possono ora essere messe insieme Essi possono essere incapsulati e protetti dalle minacce Tutto bene ......... MA... Cosa è un oggetto? Nel mondo della programmazione, un oggetto è un contenitore di codice che tiene insieme i dati e le procedure che agiscono su tali dati direttamente. L'oggetto può proteggere i dati grezzi dall'essere manipolati in modo non pianificato/previsto mediante l'uso di procedure presenti nell'oggetto per cambiare i dati invece di cercare di accedere ai dati direttamente . Gli oggetti possono aiutare a creare codice più riusabile. Un oggetto completamente autocontenuto può essere incorportao in una nuova applicazione molto più facilmente di variabili, funzioni e subroutines che sono presenti in una lunga lista di codice sorgente. Diciamo che noi abbiamo un oggetto chiamato BASKET e l'aspetto del nostro oggetto BASKET appare simile al seguente: informazioni private: EggCount variabile come tipo integer informazione pubblica: AddEggToBASKET subroutine RemoveEggFromBASKET subroutine Ora, con il tipo di oggetto suesposto, se vogliamo incrementare il valore della variabile EggCount, possiamo chiamare la procedura AddEggToBASKET al posto di fare semplicemente una assegnazione "EggCount = EggCount + 1" . Perchè questo è preferibile? Perchè possiamo incorporare nella procedura AddEggToBASKET un controllo per essere sicuri di non superari i limiti di assegnazione della variabile EggCount . Il controllo potrebbe essere simile a questo: AddEggToBASKET subroutine valuta se EggCount è al valore massimo Se EggCount è inferiore al massimo aggiunge un uovo Se EggCount è al massimo mostra il messaggio "Basket è pieno!" In altro modo, possiamo aggiungere test di controllo nella procedura RemoveEgg per assicurare all'utente di non prendere più uova di quelle presenti nel BASKET. Questo automaticamente evita che si verifichi che la conta di uova presenti un valore negativo. Usando gli oggetti è un altro passo verso la generazioen di codice che diviene più facile da leggere, corregere, e riusare. Molti principianti pensano che il lato orientato agli oggetti della programmazione non sia facile da capire, ma ci sono molte possibilità che essi abbiano scritto già codice che può essere incluso in una definizione di oggetto nel codice per renderlo ufficialmente un oggetto. ' =============================================================================== ' 2003 Holyguard.net - 2007_Abruzzoweb