...el poder de lo simple...
Marzo.6.2010
Clases
de objetos
( Documentación de la plataforma .NET está
en éste sitio. Allí hay definidos más de 7000
modelos que le facilitan hacer las aplicaciones)
Una clase es un modelo que
describe la
composición detallada de un tipo de objetos. Los objetos que se
construyan con base en ella tendrán, entonces, exactamente tal
conformación: los atributos y los comportamientos
en
ella definidos. Una clase es sejante a un plano o diseño que guía la
construcción de muchos apartamentos. La clase no es el objeto así como
el plano no es el apartamento.
Una clase de objetos es una categoría en el lenguaje. Es un mecanismo
intelectual para lograr la síntesis de un concepto. Tipifica y
representa a una multitud de casos particulares pero semejantes.
Permite a la mente del ser humano abstraer. Facilita el manejo genérico
de un concepto. Unifica una descripción general.
Instanciar objetos
es crear en la memoria RAM objetos con base en un modelo
o clase de objetos.
Se dice que un objeto es una instancia de una
clase.
Ejemplos de uso de clases o instanciaciones (o creación de objetos):
el objeto x es una Cantidad
los
objetos nombre, apellido
son Caracteres
los objetos baceptar, bcancelar
son Button
el objeto dado es un Random
el objeto empleado es una Persona
Miembros de una clase
Los miembros de una clase representan datos o información y se
organizan bajo dos grandes modalidades:
1.
Estructuras de datos, estructuras de información o en general
estructuras de representación que permiten conservar los datos e
informaciones relevantes de los futuros objetos tales como sus
características, cantidades de elementos componentes y estado del
objeto o de sus componentes. A éste tipo de información
estática,
declarada o explícita se le denomina atributos de los
objetos. Permite representar "lo que
es" el objeto, es información estática que se describe mediante otros
objetos componentes más pequeños
. Ejemplo: en un vehículo el número de ruedas, el color, su capacidad
de carga, estado legal, estado en mantenimiento, número de puertas....
2.
Estructuras lógicas, funciones, rutinas, procedimientos, operaciones,
funcionamientos y en general algoritmos que permitan expresar sintética
e implícitamente información calculada ante una solicitud o pedido
mediante un mensaje. A éste tipo de información se le denomina comportamientos de
los objetos. Permite representar "lo que
sabe hacer" el objeto, es información que se describe mediante la lógica en
programación.
Ejemplo: en un vehículo el procedimiento para girar a la derecha, el
procedimiento para detener su desplazamiento, procedimiento para
detener el motor, procedimiento para dar marcha atrás....
Nivel de acceso a los miembros
En la definición de una
clase se debe establecer el nivel de acceso a los miembros de
los futuros objetos:
1. Los miembros declarados públicos
permiten que sean utilizados desde el exterior del objeto.
2. Los miembros declarados privados
no podrán ser utilizados desde el exterior del objeto. La consecuencia
práctica de ésto es que será posible de utilizarse los miembros privados solo por el programador de la
clase y no
por el programador que la utilice para crear los objetos.
Los
objetos creados con base en un modelo o clase de objetos permitirán
hacer uso de sus miembros declarados públicos en la clase .
Descripción
de una
clase de objetos utilizando Lexico:
La forma general que describe una clase de objetos es:
clase
Nombre_de_la_clase
{
.../* aquí va el código
que describe todos los atributos y comportamientos */
}
Pero como en
éste contexto particular de la escritura de códigos
Lexico
las llaves NO significan una estructura
secuencia se admite que ellas sean
suprimidas así:
clase Nombre_de_la_clase
.../* aquí va el código que describe todos los atributos y
comportamientos */
En
una clase han de
ser definidos todos los miembros que conformarán los objetos que se
construyan con base en ella: sus atributos y sus comportamientos.
También debe ser declarado el tipo de acceso. En Lexico existen dos
tipos de acceso: público y privado y por ellos todos los miembros deben
ser declarados en una o la otra sección. Miembros privados significa que son útiles, o
mejor, accequibles solo
desde dentro del mismo objeto.
Públicos significa lo contrario, es decir esos miembros son visibles y
utilizables desde el exterior del objeto. La consecuencia práctica de
ésta característica es que el programador-usuario de una clase puede
crear objetos y acceder solamente a sus miembros públicos.
La forma general de una
clase será entonces:
clase
Nombre_de_la_clase
privados:
/*AQUÍ se definen los atributos (que son otros objetos) */
mensajes:
/*AQUÍ se definen los comportamientos (que son algoritmos) */
públicos:
/*AQUÍ se definen los atributos (que son otros objetos) */
mensajes:
/*AQUÍ se definen los comportamientos (que son algoritmos) */
La sección privados
permite plasmar una de las características principales del paradigma:
el encapsulamiento
de información para protegerla de eventuales daños del
programador-usuario de la clase. Ésta sección no es obligatoria pero su
inclusión permite, además de proteger información, establecer allí
todos los miembros necesarios para el funcionamiento de los objetos y
no indispensables para el programador-usuario a quien se le documenta
solamente la sección pública o interfaz que es lo verdaderamente útil
para él.
Los atributos (objetos componentes dentro de una clase)
son visibles en todos los algoritmos de la misma clase a diferencia de
los objetos variables que se declaren en algún algoritmo particular de
la clase
que son accequibles solamente dentro de la secuencia en que han sido
creados.
Ejemplo de definición de una clase
elemental y de su uso:
clase Básico
publicos:
mensajes:
Básico muestre
"Soy un objeto de la clase Básico"
Otro_comportamiento muestre
"Estoy ejecutando otro comportamiento"
tarea /*aplicación
del programador-usuario*/
{
muestre "Será creado un objeto a continuación"
el objeto primero
es un Básico
primero.Otro_comportamiento
}
Corra el anterior ejemplo y analice sus efectos
Nótese que dentro del modelo o clase de objetos llamado Básico se ha
definido un mensaje que "entenderá" o método o
algoritmo o comportamiento llamado Básico (igual al
nombre del modelo o clase). Es el método que se ejecuta para crear el
objeto por parte del programador-usuario de la clase y por esto se
conoce como método constructor.
El método o algoritmo llamado Otro_comportamiento
permitirá al programador-usuario de la clase desencadenar la
funcionalidad contenida en ese algoritmo y perteneciente al objeto
creado. A la forma de desencadenar acciones de un
objeto primero.Otro_comportamiento
se le denomina enviar el mensaje Otro_comportamiento
al objeto primero.
Ejemplo1
Relaciones entre los modelos o
clases
Las clases, a su vez,
pueden
relacionarse, es decir, pueden definirse relaciones entre abstraciones.
Quizás la relación más utilizada es la herencia, mecanismo que permite
llevar a la práctica un concepto pilar promotor de la economía: no solo
se puede usar código ya programado en una clase sino que además
posibilita la reutilización de ese código con la ventaja adicional de
admitir mejoras o particularizaciones, expansiones o adecuaciones a lo
ya planteado. Algunos lenguajes identifican ésta característica con
términos como expande, hereda, deriva o símbolos como :. Lexico admite utilizar el término derivada_de.
Herencia entre clases
Cómo crear una
librería o biblioteca de clases con Lexico