home *** CD-ROM | disk | FTP | other *** search
-
-
- XCLASS 2.01
- (c) Carlos Ruiz Ruiz, 1993
-
-
- XCLASS 2.01 es un programa de dominio público y por tanto queda
- expresamente prohibida su venta o cualquier otro medio de compensación
- económica excluyendo aquellos necesarios para su distribución.
-
- XCLASS 2.0 se distribuirá sin alterar ninguno de sus ficheros e
- incluyendo siempre todos los siguientes:
- LEE.ME (Este fichero)
- XCLASS.DOC (Manual de referencia)
- XCLASS.LIB (Librería para Clipper 5.01)
- XCLASS.CH (Fichero de cabecera)
-
- XCLASS 2.01 no es SHAREWARE. Cualquier usuario tiene derecho a su plena
- utilización, siendo de éste cualquier responsabilidad debida a un
- incorrecto funcionamiento de una aplicación.
-
- XCLASS PROFESIONAL es OTRO producto que sí es comercial y que no debe ser
- confundido con XCLASS 2.01, que es de dominio público.
-
-
- CARACTERISTICAS DE XCLASS
- =========================
- -Soporte de herencia múltiple y simple.
- -Soporte de métodos constructores.
- -Creación de clases en tiempo de ejecución.
- -Asociación de mensajes con métodos (funciones) o Code Blocks.
- -Mensajes virtuales.
- -Compatibilidad con el Debugger
- -Código eficiente y compacto.
- -Posibilidad de redefinición y borrado de mensajes y variables en
- clases derivadas.
- -Método rápido de acceso a los mensajes-padre.
- -Compatibilidad con una amplia variedad de sintaxis, especialmente con
- SuperClass 1.2
- -GRABACION y LECTURA en DISCO de cualquier OBJETO
- -Modularidad en el diseñó. Sólo se linkan aquellos módulos que son
- realmente utilizados.
-
-
- ¿POR QUE XCLASS?
- ================
- Son evidentes, y no las voy a comentar aquí, las ventajas de la
- programación orientada al objeto.
-
- Cuando apareció Clipper 5.00 comenzamos a ver las posibilidades que
- éste sistema ofrecía. Sin embargo nos dejó con la miel en la boca al
- no soportar la creación de clases.
-
- Pronto este problema comenzó a ser resuelto con librerías externas
- que fueron apareciendo. La más popular, por ser de dominio público,
- fué oClip. Dentro de las comerciales se destacaron Class(y) y
- SuperClass.
-
- En España aparecieron Dialog y, posteriormente, Objects, ambas de
- Antonio Linares.
-
- Siempre se le achacó el mismo problema a la OOP en Clipper:LENTITUD.
- Este es agravaba al utilizar llamadas a métodos-padre (ver
- xclass.doc).
-
- La idea de XCLASS me vino mientras efectuaba pruebas de velocidad
- entre varios gestores de clases. El sistema de oClip y Dialog era el
- más rápido para las llamadas a funciones, el de oClip lo era también
- como acceso a variables. Sin embargo oClip y Dialog tenían, sobre
- todo el primero, algún bug a la hora de heredar. SuperClass poseía
- la sintaxis más completa y unos métodos rápidos de llamadas a
- métodos-padre. OopClip, una librería de Antonio Rojo, ofrecía una
- sintaxis muy completa pero era quizás la más lenta.
-
- Bien, ¿sería posible utilizar el método de oClip en las llamadas a
- funciones y el sistema de SuperClass en la herencia al mismo tiempo?
- Me puse manos a la obra y resultó que era perfectamente posible.
- Todo esto fué aderezado con otras aportaciones mías. He aquí los
- resultados de mis pruebas de velocidad:
- (386/33 Bucles de 100.000 acciones y tiempos en segundos)
-
- GETS SETS FUNCION Parent:Funcion
-
- CLIPPER N/A (array) 3,05 8,38 N/A
-
- oClip 7,61 7,83 12,44 122,85
-
- SUPERCLASS 1.2 7,37 7,72 38,59 186,34
- BLOCK 22,53 qSuper: 45,41
- Rename: 53,64
-
- OBJECTS 8,06 9,88 51,55 182,05
- (Hidden) 394,28
-
- XCLASS 2.0 7,52 7,55 14,32 112,04
- QSuper: 38,50
- Rename: 29,20
-
- Son resultados "puros", restándoles el tiempo que tardaba el bucle en
- sí en ejecutarse. En el caso de llamada a métodos padre redefinidos he
- probado varios sistemas con las librerías que lo permiten.
-
- La ocupación en memoria y el tamaño del .EXE son también menores en
- casi todos los casos.
-
- Otro detalle que me parecía casi indispensable era el poder
- especificar métodos constructores. Particularmente porque no es muy
- limpia la sintaxis típica de oVent := Window():New( 3, 4, 5, 6 )
-
- Quizás la característica más potente sea la posibilidad de grabar y
- leer en disco cualquier objetos. Esto abre la puerta a nuevas
- estructuras de datos, como los árboles, que podrán ser manejados
- fácilmente.
-
-
- VERSIONES
- =========
- 2.01: se corrige un bug por el que si el mensaje número 30 correspondía a
- un BLOCK, se ejecutaba el 20
-
- XCLASS PROFESIONAL
- ==================
- XCLASS PROFESIONAL se encuentra aún en fase de desarrollo. Salvo las dos
- primeras caracerísticas, el resto aún no está implementado y no se hará
- si no se consiguen unas prestaciones aceptables.
-
- -Variables Protegidas.
- -Métodos de acceso a variables (SETs y GETs).
- -Mayor compatibilidad con otros gestores de clases.
- -Mayor velocidad en definición de clases.
- -Sistema de lectura y grabación de objetos más potente. Será posible
- leer objetos de clases no inicializadas y, aún en estudio, grabar y leer
- las clases estándar en Clipper.
- -Librería de clases orientada a gestión de datos, de ficheros y listados.
- Estas prometen ser muy interesantes.
-
-
- Es posible contactar con el autor a través de FIDONET, dirección:
- 2:345/602.5
-
-