Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Vamos a estudiar ahora como se contruye una clase en xHarbour y Xailer. Una Clase se compone de dos partes, por un lado la definición de la misma donde se indican los atributos y métodos a usar y por otro el desarrollo de cada método.
<declaración de miembros>
<…>
ENDCLASS
<nombreClase> Es el nombre que daremos a la clase que deseamos crear, por ejemplo Sujeto.
FROM indica de que Clases Padre heredará. xHarbour permite multiherencia, pero hay que dominar muy bien la construcción de clases para usarla.
<superClase, …> Nombres de las Clases Padre de las que hereda, separadas por coma.
EXPORTED: Hace que todos las variable y métodos definidos a continuación de esta palabra posean visibilidad total.
PROTECTED: Hace que todas las variables y métodos definidos a continuacuón de esta palabra sean solo visible por la propia clase y las que heredan de ella.
HIDDEN: Hace que todas las variable y métodos definidos a continuación de esta palabra sólo sean visibles por los métodos de la propia clase.
Dentro de la definición de la clase incluiremos la declaración de variables y métodos de la misma, veamos la sintaxis:
Para variables:
INIT indica que vamos inicializar la variable con un valor por defecto
READONLY hace que la variable sea de sólo lectura y su valor sólo pueda modificarse desde los métodos de la propia clase.
Para métodos:
<parámetros> sirve para indicar, opcionalmente, los parámetros que tiene este método.
Una vez definida la estructura de la clase, tendremos que implementar los métodos con el código que deberá ejecutar, para ello usaremos:
<código a ejecutar>
RETURN <valorRetorno>
<parámetros> son los parámetros de este método. Aquí es obligatorio ponerlos si los lleva.
<valorRetorno> es el valor que debe devolver el método. Siempre ha de retornar algo, en caso de que no devuelva nada, indicaremos nil.
Todas las clases que se definen en xHarbour y Xailer llevan implicito el método constructor de la misma, que como indica su nombre, es el que sirve para construir el Objeto. El método constructor por defecto es new() y se puede redefinir fácilmente. Tambien podemos indicar cualquier otro nombre de método como constructor incluyendo la palabra CONSTRUCTOR a finla de la declaración del método dentro de la defincion de la clase, por ejemplo:
y lo implementaremos:
<operaciones de código>
RETURN self
Es importante y necesario indicar self en el RETURN del método contructor, ya que así es como xHarbour y Xailer toman refencia del nuevo objeto creado.
Cuando creamos clases con xHarbour y Xailer debemos tener en cuenta algunas consideraciones adicionales:
En las siguientes entregas definiremos un pequeño proyecto y empezaremos a trabajar definiendo clases. Veremos que son listas, como se implementan y como se recorren.
« Programación Orientada a Objeto avanzada con xHarbour y Xailer (II). Programacion Orietada a Objeto avanzada con xHarbour y Xailer (IV). »
9 comentarios
Responder
Un abrazo.
Responder
….
Responder
Saludos
Gracias por tu respuesta, sin embargo, eso ya lo habia intentado antes de postear y tampoco funciono, no se si sera que la version de (x)Harbour sea incompatible, pues ademas reviso los fuentes que me envias y el codigo es igual (guardando la salvedad de que son los atributos y metodos que deseo utilizar)
Saludos
un abrazo
Alvaro
Responder
Responder
Responder