En el objeto "Workplace Shell", XFolder crea una p gina llamada "Clases del WPS", con la que puede manipular la lista de clases del WPS.

Para utilizar esta p gina con ‚xito, ser¡a de ayuda tener una comprensi¢n general de lo que hacen en realidad las clases del WPS. La siguiente informaci¢n se suministra para ayudarle con ello.

Probablemente haya vd. oido muchas veces que el interfaz de OS/2, el Workplace Shell o WPS, est  "orientado a objetos". Este t‚rmino sugiere que --al contrario que otros interfaces de usuario, como el de Windows 3.1-- se supone que todo aquello con lo que el WPS trata es un "objeto": esto se aplica, por ejemplo, a los archivos, carpetas, impresoras, unidades, etc. Todos estos objetos tienen ciertas caracter¡sticas comunes, como men£s emergentes y cuadernos de propiedades, pero difieren en otras: es decir, lo que se ve en los men£s emergentes es diferente dependiendo del objeto seleccionado.

Para poder manejar estas caracter¡sticas comunes y diferentes, el WPS utiliza "clases". Este t‚rmino ha sido tomado de la programaci¢n orientada a objetos. Una clase es, por as¡ decirlo, un concepto abstracto referido a un objeto. Una clase, por tanto, no es visible en el escritorio, no "existe" en el mismo sentido que lo hacen los objetos, pero contiene toda la informaci¢n acerca de las propiedades y capacidades del objeto.

Cualquier objeto del Escritorio es lo que se llama una "instancia" de una clase. Los nombres de la mayor¡a de las clases del WPS empieza por "WP": por ejemplo, una impresora es una instancia de la clase "WPPrinter", una carpeta de la clase "WPFolder", un archivo de datos de la clase "WPDataFile" y as¡ sucesivamente.

La raz¢n de la potencia y flexibilidad del concepto de clase es que las diferentes clases pueden descender unas de otras. Una clase que desciende de otra hereda todas sus propiedades y capacidades. Es por tanto posible hacer m s abstractas ciertas funciones del interfaz de usuario, de acuerdo con el viejo principio: "la mejor forma de manejar la complejidad es la abstracci¢n".

Uno puede aplicar tambi‚n el concepto de clases a las cosas del mundo "real" para aclararlo un poco: por ejemplo, piense en varias clases llamadas "Animal", "Mam¡fero", "Perro" y "Ave". Las clases "Mam¡fero" y "Ave" ser¡an descendientes de la clase "Animal", y "Perro" ser¡a descendiente de "Mam¡fero". Su propio perro ser¡a entonces una instancia de la clase "Perro", por as¡ decirlo. Su comportamiento estar¡a determinado conjuntamente por las clases "Animal", "Mam¡fero" y "Perro".

El WPS contiene muchas clases, que forman una jerarqu¡a de herencia muy intrincada. El siguiente resumen de la lista de clases del WPS puede hacer la estructura general un poco m s l£cida (las l¡neas significan descendencia):

   WPObject
     ÃÄÄ WPAbstract
     ³     ÃÄÄ WPPrinter
     ³     ÃÄÄ WPProgram
     ³     ÀÄÄ WPShadow
     ÃÄÄ WPFileSystem
     ³     ÃÄÄ WPDataFile
     ³     ³      ÃÄÄ WPIcon
     ³     ³      ÀÄÄ WPProgramFile
     ³     ÀÄÄ WPFolder
     ³            ÃÄÄ WPDesktop
     ³            ÀÄÄ WPStartup
     ÀÄÄ WPTransient

Puede ver que todas las clases son descendientes de WPObject. Esta es la llamada "clase ra¡z" de todas las clases del WPS y contiene todas las caracter¡sticas comunes a todos los objetos del WPS: como se dijo antes, p.e. men£s emergentes y cuadernos de propiedades. Sin embargo, la clase WPObject es demasiado abstracta para tener instancias de ella: esta clase s¢lo existe para tener clases descendientes. Los objetos de esta clase no funcionar n.

WPObject s¢lo tiene tres clases descendientes. Estas clases -- como WPObject -- s¢lo est n ah¡ para tener ser clases padre abstractas, de las que no deber¡an existir objetos de forma directa.

El WPS ofrece tambi‚n un mecanismo excpecional llamado sustituci¢n de clases. Esta funci¢n es utilizada de forma muy extensa por XFolder para integrar todas sus funciones en el WPS sustituyendo algunas de las clases del WPS. Por ejemplo, la propia clase XFolder sustituye a la clase WPFolder para implementar las nuevas funciones de las carpetas. Tal clase sustituta ser  siempre descendiente de la clase a la que debe sustituir; "sustituir" la clase significa que el WPS utilizar  siempre la clase sustituta dondequiera que se utilizara normalmente la clase original. Como resultado, si tiene vd. instalado XFolder, todas las carpetas de su sistema son instancias no ya de WPFolder, sino de XFolder. Pero como XFolder desciende de WPFolder, s¢lo cambian aquellas caracter¡sticas de las carpetas para las que XFolder proporciona funciones adicionales.

Todas las clases del WPS residen en bibliotecas de enlace din mico (extensi¢n de archivo .DLL). Por ejemplo, muchas de las clases originales del WPS residen en el gran archivo PMWP.DLL del directorio \OS2\DLL. Todas las clases de XFolder residen en XFLDR.DLL en el directorio de instalaci¢n de XFolder.

Utilizar esta funci¢n posibilita a los programadores implementar nuevas funciones para una clase sin tener que conocer en detalle c¢mo funciona internamente. Como se dijo antes, este es un concepto sorprendentemente potente que s¢lo OS/2 ofrece por el momento.

Por favor, tenga en cuenta que si intenta desregistrar ciertas clases de sistema de OS/2 (que normalmente tampoco deber¡a intentarse de ninguna manera), esto no tendr  probablemente ning£n efecto si la DLL que contiene esa clase contiene otras clases del WPS que est n registradas todav¡a. Esto se aplica especialmente a las clases Multimedia de OS/2 Warp 4: todas est n contenidas en MMPARTS.DLL, y mientras una sola de ellas est‚ registrada, se cargar n todas las clases de multimedia, incluso si no aparecen en la lista de clases del WPS.

De nuevo, esto es s¢lo una breve introducci¢n a la lista de clases del WPS. Si abre vd. la p gina "Clases del WPS" del objeto "Workplace Shell", se mostrar  una lista de todas las clases registradas en su sistema. Habitualmente, ser n m s de 100 clases, que aparecer n en una estructura de  rbol. Utilizando los men£s emergentes, puede vd. registrar y sustituir clases y tambi‚n desregistrar clases y deshacer sustituciones de clases.

Por favor, tenga en cuenta que deber¡a ser muy cuidadoso al manipular la lista de clases del WPS. ­Con la ayuda de esta p gina puede volver inutilizable su sistema OS/2 en segundos!.

Pulse el bot¢n "Ayuda" en esa p gina para obtener informaci¢n m s detallada.