Benvenuti in Clipper

Le classi in clipper

Collegamenti

Un esempio

      Home page

 

Le  Classi in Clipper

Clipper rappresenta sicuramente il linguaggio di programmazione più avanzato per i file .dbf dopo l'avvento del DBIIIPlus. 

Una delle più  interessanti  peculiarità di questo linguaggio, nello stesso tempo più sconosciuta e difficile da utilizzare, è costituita dalle classi e dagli oggetti. Probabilmente ciò è dovuto al fatto che Classi ed Oggetti sono il Clipper degli elementi immodificabili, puoi usarli,ma non cambiarli nè crearne dei nuovi. In una sola parola Clipper non è un liguaggio di programmazione orientato agli oggetti (OOP). 

In realtà Clipper contiene al suo interno tutto ciò che serve per creare e gestire oggetti. Sono disponibili due librerie freeware al quali voglio far riferimento, che senza particolari accorgimenti permettono di trasformare Clipper in un vero linguaggio OOP:

 OOclip 1.5 di Nixil Hsiao, Universeen Co., Ltd.       

 OObject  2.0 di Manos Aspradakis 

librerie dalle quali ho preso ottimi spunti operativi per la realizzazione di applicazioni oop e non per ultime ... queste modeste pagine.

OOclip d OObject permettono di superare la mancanza di Clipper nel creare proprie classi ed oggetti, oggetti che possono essere utilizzati come quelli standard previsti da CA-Clipper.

Gli oggetti creati sono totalmente compatibili con quelli standard e sono riconosciuti come tali da Clipper; infatti la funzione VALTYPE() ritorna "O" nel caso le sia passato uno di tali oggetti come argomento.

L'unico problema si pone col debugger.

Infatti il debugger insiste nel dire che la funzione METHODName non esiste in quanto il debugger si attende che un METHOD UDF debba avere lo stesso nome del METHOD Message.

L'ottimo Manos Aspradakis ha risolto il problema con la versione 2.0 della sua libreria OObjects nella qualeè implementato un metodo per dichiarare METHODName e METHOD UDF con lo stesso nome mantenendoli STATIC nel programma sorgente così che risultano visibili al 100% al debugger.

Un po' di definizioni

Un po' di pazienza ora per definire alcune concetti fondamentali per gli oggetti:

Classe

Classe è un mezzo per creare oggetti.

Oggetto

Oggetto è l'istanza di una classe.

Variabili istanza

Sono gli attributi di un oggetto; in particolare le "Exported istance variables" sono quelle variabili istanza accessibili dagli utenti.

Metodo

E' l'operazione conclusa in risposta ad un messaggio inviato ad un oggetto. E' l'equivalente di una funzione nel linguaggio procedurale.

Messaggi

E' ciò che si richiede ad un oggetto di eseguire tramite un metodo. Il messaggio viene trasmesso mediante l'operatore SEND (":" ossia i due punti).

Ereditarietà

E' il meccanismo che permette di ottenere classi figlia da classi più generali, permettendo di utilizzarne tutte le caratteristiche.

 

Nota: Clipper è un marchio registrato della Computer Associates International, Inc (http://www.ca.com/)

 

1
Hosted by www.Geocities.ws