Está en la página 1de 4

API de Windows

La interfaz de programacin de aplicaciones de Windows, cuyo nombre en ingls es Windows API (Windows application programming interface), es un conjunto de funciones residentes en bibliotecas (generalmente dinmicas, tambin llamadas DLL por sus siglas en ingls, trmino usado para referirse a stas en Windows) que permiten que una aplicacin corra bajo un determinado sistema operativo. Debido a su estrecha relacin con el desarrollo de software, los programas en sus especificaciones generalmente explicitan la versin de la API del sistema operativo, mediante diversas nomenclaturas tales como la versin especfica del sistema operativo (para Windows 98, por ejemplo), o explicitando la versin del conjunto de bibliotecas (Plataforma Win32, etc.). Las funciones API se dividen en varias categoras: Depuracin y manejo de errores E/S de dispositivos Varias DLL, procesos e hilos Comunicacin entre procesos Manejo de la memoria Monitorizacin del desempeo Manejo de energa Almacenamiento Informacin del sistema GDI (interfaz para dispositivos grficos) de Windows (tales como impresoras) Interfaz de usuario de Windows Llamadas a las Funciones del API de Windows Un programador de aplicaciones Windows adems de conocer el entorno de trabajo de Windows debe conocer tambin su entorno de programacin, conocido generalmente como interfaz de programacin de aplicaciones de Windows ( Windows Application Programming Interface, abreviadamente Windows API ). La caracterstica primaria de la API de Windows son las funciones y los mensajes internos/externos de Windows. Las funciones Windows son el corazn de las aplicaciones Windows. Hay ms de 600 funciones de Windows dispuestas para ser llamadas por cualquier lenguaje, como C o Visual Basic. A travs de estos mecanismos, podemos realizar gran cantidad de funciones que hasta el momento no tenamos ni idea que se podan realizar. La utilizacin de sta serie de libreras que contienen las funciones de la API pueden solucionar gran cantidad de problemas en la programacin, aunque tambin no debemos desestimar el gran poder destructivo de las mismas. La depuracin de un programa es muy diferente si ste tiene incorporadas llamadas a APIs, ya que el resultado de las mismas en algunos casos puede llegar a ser incomprensible. Cuando se trabaja con stas funciones siempre es recomendable tener a mano una buena gua o bien tener a mano alguien que sepa, para no encontrarnos con posibles problemas. Las dos principales ventajas que obtenemos con la utilizacin de APIs es la gran funcionalidad que podemos darle a nuestra aplicacin, y en segundo lugar la gran velocidad de proceso, ya que a menudo es mucho ms rpido realizar una funcin a travs de la API adecuada que por medio del lenguaje en s mismo.

Los mensajes son utilizados por Windows para permitir que dos o ms aplicaciones se comuniquen entre s y con el propio sistema Windows. Se dice que las aplicaciones Windows son conducidas por mensajes o sucesos.

Encapsulamiento
En Programacin modular, y ms especficamente en programacin orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que slo se puede cambiar mediante las operaciones definidas para ese objeto. Cada objeto est aislado del exterior, es un mdulo natural, y la aplicacin entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificacin por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones. De esta forma el usuario de la clase puede obviar la implementacin de los mtodos y propiedades para concentrarse slo en cmo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas. La encapsulacin se encarga de mantener ocultos los procesos internos que necesita para hacer lo que sea que haga, dndole al programador acceso slo a lo que necesita.

Herencia
Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo caractersticas (mtodos y atributos) similares a los ya existentes. Es la relacin entre una clase general y otra clase ms especfica. Es un mecanismo que nos permite crear clases derivadas a partir de clase base, Nos permite compartir automticamente mtodos y datos entre clases subclases y objetos. Por ejemplo: Si declaramos una clase prrafo derivada de un clase texto todos los mtodos y variables asociadas con la clase texto son automticamente heredados por la subclase prrafo.[1] Este quizs es el tema que ms problemas causa al estudiante; sin embargo, no es difcil en su concepcin. El objeto Persona es un objeto muy genrico y limitado en s; as que se puede considerar como un objeto Abstracto; ya que por s mismo no puede crear una persona completa; sin embargo, sus funciones bsicas son las mismas en todos los seres humanos, con diferencias puntuales, as que podemos crear dos objetos Hombre y Mujer, que hereden todas sus caractersticas genricas como respirar, hablar, nombre, etc, del objeto Persona, y sea en la implementacin de cada objeto donde empiezan las diferencias.[5]

Polimorfismo
En programacin orientada a objetos se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en funcin de los parmetros utilizados durante su invocacin. Un objeto polimrfico es una entidad que puede contener valores de diferentes tipos durante la ejecucin del programa. En algunos lenguajes, el trmino polimorfismo es tambin conocido como Sobrecarga de parmetros ya que las caractersticas de los objetos permiten aceptar distintos parmetros para un mismo mtodo (diferentes implementaciones) generalmente con comportamientos distintos e independientes para cada una de ellas. El polimorfismo, como su mismo nombre sugiere mltiples formas, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a travs del mismo interfaz. O sea, que, en la prctica, un mismo identificador puede tener distintas formas (distintos cuerpos de funcin, distintos comportamientos) dependiendo, en general, del contexto en el que se halle inserto. El polimorfismo se puede establecer mediante la sobrecarga, sobre-escritura y la ligadura dinmica. Sobrecarga. El trmino sobrecarga se refiere al uso del mismo identificador u operador en distintos contextos y con distintos significados. Si para cada funcionalidad necesitada fuese necesario escribir un mtodo, el cdigo resultante sera inmanejable, imagnense, por ejemplo que los desarrolladores de java hubiesen creado un mtodo para escribir en pantalla una cadena de texto, otro diferente para escribir un entero, otro para escribir un doble, otro para escribir un carcter, otro para una cadena y un entero y as para todas las combinaciones posibles, sera casi imposible conocer dichos mtodos en totalidad; en cambio sabemos que con System.out.print() o System.out.println() podemos escribir cualquier mensaje en pantalla. Este tipo de codificacin nos es permitido gracias a la sobrecarga, la cual se aplica a mtodos y constructores. La sobrecarga de mtodos conduce a que un mismo nombre pueda representar distintos mtodos con distinto tipo y nmero de parmetros, manejados dentro de la misma clase. En el mbito de la POO, la sobrecarga de mtodos se refiere a la posibilidad de tener dos o ms mtodos con el mismo nombre pero funcionalidad diferente. Es decir, dos o ms mtodos con el mismo nombre realizan acciones diferentes. El compilados usar una u otra dependiendo de los parmetros usados. Esto tambin se aplica a los constructores. De hecho, es la aplicacin ms habitual de la sobrecarga.

Reutilizacin

Una forma de hacer esto es crear objetos de nuestras clases existentes dentro de la nueva clase. Esto se conoce como composicin porque la nueva clase est compuesta de objetos de clases existentes. Estamos reutilizando la funcionalidad del cdigo, y no la forma. Otra forma es crear una nueva clase como un tipo de una clase ya existente. Tomamos la forma de la clase existente y aadimos cdigo a la nueva, sin modificar la clase existente. Esta forma de crear nuevos objetos se llamada herencia, y lo que hacemos es extender la clase en la que nos basamos para crear la nueva. Composicin: Hasta ahora hemos usado la composicin de cierta manera, ej. Cuando hacemos una interfaz grfica de usuario, nuestra clase de interfaz grfica est compuesta por un frame, unos panel, botones, etc. todos estos objetos componen el objeto de interfaz grfica. Es decir que la composicin consiste en poner manejadores de objetos dentro de nuestra clase, estos manejadores de objetos no sern otra cosa que instancias de las clases en las que nos estamos basando para crear la nueva clase. Recordemos que la forma para determinar cundo usar composicin es cuando podemos decir que nuestra nueva clase tiene un elemento de otro tipo de objetos, por ejemplo un cronmetro tiene: horas, minutos y segundos, es decir que una clase Cronometro est compuesta por otras clases llamadas: Horas, Minutos y Segundos.