Objetos, clases, instanciamiento

La siguientes explicaciones, del tipo tutorial, son más fáciles de entender si sigue los ejemplos en Visual FoxPro.

Una parte importante de la programación orientada a objetos son los objetos y las clases. Primero se define una clase como "modelo", después se ejecuta una "instancia" del objeto, que se llama clase. Por ejemplo, si utilizamos programación orientada a objetos para definir pantallas (forms), definimos una clase de tipo Form, y escribimos dentro todas las órdenes que deseamos, metemos controles (botones, TextBoxes, etc.), y definimos algunas propiedades (por ejemplo, .Height, .Width, .BackColor).

A continuación, un ejemplo de cómo definir un simple form en un programa, usando clases y objetos:

* Crear form con órdenes OOP

* Aquí estoy invocando el Form
public Form1 && Para esta prueba. De otra manera, al borrar la variable se borra el Form.
Form1 = CreateObject("cMiForm")
Form1.Visible = .T.
return

* Aquí se hace la definición del Form.
define class cMiForm as Form
   Height = 100
   Width = 150
   AutoCenter = .T.
   BackColor = RGB(255,0,0)
enddefine

Notas:

En realidad, normalmente es más fácil diseñar una clase en el diseñador de clases. Por ejemplo, para diseñar un Form como clase, es casi idéntico a diseñar un Form simple. (La principal excepción es que cuando se crea un como clase, no se dispone de DataEnvironment, y se tienen que abrir las tablas, fijar relaciones, índices y buffering en el evento Load).

Digamos que queremos definir el mismo Form como clase, en una librería de clases pruebas (nombre completo del archivo principal: pruebas.vcx).

Los pasos, para crear un Form similar al ejemplo anterior, son como sigue:

set classlib to pruebas
local loForm1
loForm1 = CreateObject("cMiForm")
loForm1.Visible = .T.

Notas:

Para terminar esta breve introducción, debo mencionar otros tipos de clases y objetos. Algunos tienen presencia visual, como botones (CommandButton), marcas de verificación (CheckBox), campos de edición (TextBox y EditBox), y otros. Sin embargo, también hay objetos que no tienen representación visual - simplemente sirven como un conveniente repositorio para variables y funciones (es decir, Propiedades, Eventos y Métodos). Por ejemplo, para programar un juego, se puede tener un objeto "Jugador", con propiedades (variables) para nombre, puntaje actual, puntaje máximo, etc.; luego, se puede tener un array de esos objetos, para varios jugadores.

 

Volver a: Visual FoxPro | Página Principal de Hilmar Zonneveld