Clases

El primer paso en el desarrollo de una aplicación OOP consiste en definir “moldes” o “clases”. Éstos llevan consigo las especificaciones descriptivas y actitudinales (métodos y propiedades) que luego serán transmitidas a sus descendientes. Paso siguiente, un constructor determina la creación de un objeto a partir de ese molde y especifica sus características particulares en un proceso denominado instanciación.

Veamos un ejemplo para ser más claros.

Un programador genera la clase CD_player conjuntamente con la definición de sus métodos y propiedades. Cada unidad (objeto) creada a partir de este molde (clase) realizará las tareas que le fueron asignadas en distintos momentos e intensidades (play, stop, pause, eject, subir y bajar volumen), podrá recibir una apariencia específica combinando sus propiedades (color de cobertura, forma de los botones, color del display, etc.) y será totalmente independiente de sus pares.

A este objeto sólo le resta ser individualizado mediante un único e irrepetible nombre de instancia.

Supongamos que hemos definido el método cambiarVolumen() y la propiedad volumen (entre otras) en la clase CD_player. Una vez que la clase asigna su estructura a un objeto denominado mi_CD_player (proceso de instanciación llevado a cabo a través de un constructor), el objeto se vuelve receptor de órdenes.
De esta manera, cuando el programador indique mi_CD_player.cambiarVolumen(80), el reproductor de CD modificará su propiedad volumen y
la audición del sonido emitido por el objeto cambiará al 80% de su capacidad Es sólo a través de los métodos (al menos, la corriente purista de OOP así lo sostiene) que el entorno del objeto puede relacionarse con los datos encontrados dentro de él. Esta particularidad es justamente la que marca la “independencia”, “transportabilidad”, “facilidad” y “reutilización” de este esquema de programación: no existe código disperso por la aplicación; todo está correcta y prolijamente encapsulado dentro de unidades “clase” y “objeto”. Una vez que una clase ha sido creada, no precisamos saber qué ocurre dentro, tan sólo debemos conocer la sintaxis para invocar sus interfases o métodos.