Comunicación entre objetos
Blog de paradigmas de programación orientada a objetos.
domingo, 8 de junio de 2014
jueves, 5 de junio de 2014
COMUNICACIÓN ENTRE OBJETOS
Los objetos GeneXus pueden comunicarse entre ellos o con otros programas externos. Un objeto GeneXus puede llamar o ser llamado por otro objeto, intercambiando información a través de parámetros. Veremos a continuación cómo invocar desde un objeto a otro, y cómo especificar los parámetros (en el objeto llamador y en el llamado) para el intercambio de la información. El esquema presentado arriba ilustra las posibles interacciones entre objetos GeneXus para una aplicación Web. Obsérvese que la flecha simple entre Web Panel y Procedimiento PDF (asícomo entre Transacción y Procedimiento PDF) indica que un Web Panel podráinvocar a un Procedimiento PDF pero un Procedimiento PDF no podráinvocar a un Web Panel (o transacción Web).
Características Generales:
• Cada método tiene un nombre:
Cero o más parámetros (por valor o por referencia) que recibe o devuelve y un algoritmo con el desarrollo del mismo
.
• En particular se destaca el método constructor:
Que no es más que el método que se ejecuta cuando el objeto es creado. Este constructor suele tener el mismo nombre de la clase/ objeto, pero aunque es una práctica común, el método constructor no necesariamente tiene que llamarse igual a la clase (al menos, no en pseudos-código). Es un método que recibe cero o más parámetros y lo usual es que inicialicen los valores de los atributos del objeto.
• En lenguajes como Java y C++ se puede definir más de un método constructor:
Que normalmente se diferencian entre sí por la cantidad de parámetros que reciben.
• Los métodos se ejecutan o activan cuando el objeto recibe un mensaje:
Enviado por un objeto o clase externo al que lo contiene, o por el mismo objeto de manera local.
Creación de Objetos y Métodos Constructores:
Cada objeto o instancia de una clase debe ser creada explícitamente a través de un método u operación especial denominada constructores.
Los atributos de un objeto toman valores iniciales dados por el constructor. Por convención el método constructor tiene el mismo nombre de la clase y no se le asocia un modo de acceso (es público).
Algunos lenguajes proveen un método constructor por defecto para cada clase y/o permiten la definición de más de un método constructor
miércoles, 4 de junio de 2014
Atributos
Su sintaxis algorítmica
Los modos de acceso de
un atributo son:
Público:
Atributos (o Métodos) que son accesibles fuera
de la clase. Pueden ser llamados por cualquier clase, aun si no está
relacionada con ella. Este modo de acceso también se puede representar con el
símbolo +.
Privado:
Atributos (o Métodos) que sólo son accesibles
dentro de la implementación de la clase. También se puede representar con el
símbolo –.
Protegido:
Atributos (o Métodos) que son accesibles para la
propia clase y sus clases hijas (subclases). También se puede representar con
el símbolo #.
Métodos.
¿Qué es un método?
Un método es una sub rutina asociada
exclusivamente a una clase (llamados métodos de clase o métodos estáticos) o a
un objeto (llamados métodos de instancia). Análogamente a los procedimientos en
los lenguajes imperativos, un método consiste generalmente de una serie de
sentencias para llevar a cabo una acción, un juego de parámetros de entrada que
regularán dicha acción y, posiblemente, un valor de salida (o valor de retorno)
de algún tipo.
Algunos lenguajes de programación asumen que un
método debe de mantener el invariante del objeto al que está asociado asumiendo
también que éste es válido cuando el método es invocado. En lenguajes compilados
dinámicamente, los métodos pueden ser objetos de primera clase, y en este caso
se puede compilar un método sin asociarse a ninguna clase en particular, y
luego asociar el vínculo o contrato entre el objeto y el método en tiempo de
ejecución. En cambio en lenguajes no compilados dinámicamente o estáticamente,
se acude a precondiciones para regular los parámetros del método y post
condiciones para regular su salida (en caso de tenerla). Si alguna de las
precondiciones o post condiciones es falsa el método genera una excepción. Si
el estado del objeto no satisface la invariante de su clase al comenzar o
finalizar un método, se considera que el programa tiene un error de
programación
La diferencia entre un procedimiento
(generalmente llamado función si devuelve un valor) y un método es que éste
último, al estar asociado con un objeto o clase en particular, puede acceder y
modificar los datos privados del objeto correspondiente de forma tal que sea
consistente con el comportamiento deseado para el mismo. Así, es recomendable
entender a un método no como una secuencia de instrucciones sino como la forma
en que el objeto es útil (el método para hacer su trabajo). Por lo tanto,
podemos considerar al método como el pedido a un objeto para que realice una tarea
determinada o como la vía para enviar un mensaje al objeto y que éste reaccione
acorde a dicho mensaje.
estructura interna de objetos
Estructura interna de un
objeto.
La estructura interna de un objeto se define por un conjunto de atributos, el estado viene dado por los valores que toma esos atributos en un instante de tiempo.
La estructura interna de un objeto consta de dos componentes básicos los cuales son:
• Atributos.
• Métodos (operaciones o servicios).
Atributos:
¿Qué es un atributo?
Un atributo es una especificación que define una propiedad de un objeto, elemento o archivo. También puede referirse o establecer el valor específico para una determinada instancia de los mismos.
Sin embargo, actualmente, el término atributo puede y con frecuencia se considera como si fuera una propiedad dependiendo de la tecnología que se use.
Para mayor claridad, los atributos deben ser considerados más correctamente como metadatos. Un atributo es con frecuencia y en general una característica de una propiedad.
Un buen ejemplo es el proceso de asignación de valores XML a las propiedades (elementos). Tenga en cuenta que el valor del elemento se encuentra antes de la etiqueta de cierre (por separado), no en el propio elemento. El mismo elemento puede tener una serie de atributos establecidos (Nombre = "esto es una propiedad").
Si el elemento en cuestión puede ser considerado una propiedad (Nombre Cliente) de otra entidad (digamos "cliente"), el elemento puede tener cero o más atributos (propiedades) de su propio (Nombre Cliente es de Tipo = "tipo texto").
La estructura interna de un objeto se define por un conjunto de atributos, el estado viene dado por los valores que toma esos atributos en un instante de tiempo.
La estructura interna de un objeto consta de dos componentes básicos los cuales son:
• Atributos.
• Métodos (operaciones o servicios).
Atributos:
¿Qué es un atributo?
Un atributo es una especificación que define una propiedad de un objeto, elemento o archivo. También puede referirse o establecer el valor específico para una determinada instancia de los mismos.
Sin embargo, actualmente, el término atributo puede y con frecuencia se considera como si fuera una propiedad dependiendo de la tecnología que se use.
Para mayor claridad, los atributos deben ser considerados más correctamente como metadatos. Un atributo es con frecuencia y en general una característica de una propiedad.
Un buen ejemplo es el proceso de asignación de valores XML a las propiedades (elementos). Tenga en cuenta que el valor del elemento se encuentra antes de la etiqueta de cierre (por separado), no en el propio elemento. El mismo elemento puede tener una serie de atributos establecidos (Nombre = "esto es una propiedad").
Si el elemento en cuestión puede ser considerado una propiedad (Nombre Cliente) de otra entidad (digamos "cliente"), el elemento puede tener cero o más atributos (propiedades) de su propio (Nombre Cliente es de Tipo = "tipo texto").
Características de un
atributo:
• Cada atributo nombrado tiene asociado un conjunto de reglas denominadas operaciones:
Uno no agrega caracteres o manipula y procesa una matriz de enteros como una imagen ni procesa texto como tipo de coma flotante (números decimales).
• Tiene una definición de objeto se y puede ampliar mediante la imposición de tipos de datos:
Un formato de representación, un valor por defecto, y las operaciones legales (normas) y restricciones ("¡División por cero no está permitida!") Son todos los que podrían participar en la definición un atributo, o por el contrario, se puede decir que son atributos de ese tipo de objeto. Un archivo JPEG no es decodificado por las mismas operaciones (por muy similares que sean, estos son todos formatos de datos de gráficos) como un archivo BMP o PNG, ni es un número de coma flotante operado por las normas aplicadas a los enteros largos.
Por ejemplo, en computación grafica los objetos de planos pueden tener atributos tales como espesor (con valores reales), color (con valores descriptivos como el marrón o verde o los valores definidos en un cierto modelo de color, como RGB), etc. Un objeto círculo se puede definir con atributos similares, como un origen y radio.
Lenguajes de marca, como HTML y XML, utilizan los atributos para describir los datos y el formato de los datos.
Un atributo consta de un nombre y un valor. Cada atributo está asociado a un tipo de dato, que puede ser simple (entero, real, lógico, carácter,
• Cada atributo nombrado tiene asociado un conjunto de reglas denominadas operaciones:
Uno no agrega caracteres o manipula y procesa una matriz de enteros como una imagen ni procesa texto como tipo de coma flotante (números decimales).
• Tiene una definición de objeto se y puede ampliar mediante la imposición de tipos de datos:
Un formato de representación, un valor por defecto, y las operaciones legales (normas) y restricciones ("¡División por cero no está permitida!") Son todos los que podrían participar en la definición un atributo, o por el contrario, se puede decir que son atributos de ese tipo de objeto. Un archivo JPEG no es decodificado por las mismas operaciones (por muy similares que sean, estos son todos formatos de datos de gráficos) como un archivo BMP o PNG, ni es un número de coma flotante operado por las normas aplicadas a los enteros largos.
Por ejemplo, en computación grafica los objetos de planos pueden tener atributos tales como espesor (con valores reales), color (con valores descriptivos como el marrón o verde o los valores definidos en un cierto modelo de color, como RGB), etc. Un objeto círculo se puede definir con atributos similares, como un origen y radio.
Lenguajes de marca, como HTML y XML, utilizan los atributos para describir los datos y el formato de los datos.
Un atributo consta de un nombre y un valor. Cada atributo está asociado a un tipo de dato, que puede ser simple (entero, real, lógico, carácter,
string) o estructurado (arreglo, registro,
archivo, lista, etc.).
ETRUCTURA INTERNA DE UN OBJETO
*ESTRUCTURA INTERNA:
Señala la estructura de un texto es indicar las partes en las que se prevén dividir.
Señala la estructura de un texto es indicar las partes en las que se prevén dividir.
La estructura interna de un objeto está
compuesta por tres elementos fundamentales como son:
*PROPIEDADES:
Son las características observables de un
objeto. Las propiedades se reconocen porque describen un aspecto del objeto que
podemos medir con una escala establecida previamente. A cada propiedad se le
debe asigna un valor el cual permite identificar de manera única el objeto.
*METODOS:
Se define como un conjunto de acciones que un
objeto puede realizar para conseguir un propósito. Los métodos representan la
parte viva e interesante de un objeto y se emplea habitualmente para modificar
las propiedades del objeto. Al modificar cualquiera de las propiedades del
objeto se altera su apariencia y se genera un cambio que el usuario de la
aplicación puede percibir.
*EVENTOS:
Todos los objetos se relacionan con el mundo
que los rodea, esto significa que ningún objeto está aislado y siempre recibe
el influjo de otros objetos. Los eventos son los estímulos que un objeto ejerce
sobe otro.
ATRIBUTOS:
Un atributo es una característica de un objeto. Por ejemplo, todos los objetos de la clase Lavadora tienen atributos como: la marca, el modelo, el número de serie y la capacidad.
Por ejemplo:
mi Lavadora
Laudatorium
Washmeister
GL57774
7Kg.
MÉTODOS:
Método es un término utilizado en algunos lenguajes de programación para referirse a algún comportamiento de los objetos de una clase.
Un atributo es una característica de un objeto. Por ejemplo, todos los objetos de la clase Lavadora tienen atributos como: la marca, el modelo, el número de serie y la capacidad.
Por ejemplo:
mi Lavadora
Laudatorium
Washmeister
GL57774
7Kg.
MÉTODOS:
Método es un término utilizado en algunos lenguajes de programación para referirse a algún comportamiento de los objetos de una clase.
2 posibilidades para la comunicacion
Comunicación entre objetos
CALL - Permite invocar a un objeto GeneXus o a un programa externo,
tanto sin pasarle
parámetros, como pasándole.
parámetros, como pasándole.
UDP (User Defined Procedure) - Permite invocar a un objeto
GeneXus o programa externo tanto sin pasarle parámetros como pasándole,
y con la particularidad de que el programa llamado
retornará necesariamente al menos
un valor al programa
que lo invocó. En ambientes Web, un objeto con interfaz una vez invocado no devuelve el control
al llamdor, por lo que UDP se utiliza únicamente
para
invocar
a
Procedimientos
y
Data Providers (debido a que estos cumplen
la condición de
ejecutar y devolver el control al llamador).
Una invocación (ya sea con CALL o UDP) podrá escribirse en distintas
partes del objeto llamador, dependiendo
de si el mismo es una
transacción, web
panel, procedimiento, etc.
A su vez UDP puede utilizarse también
en la definición de un atributo fórmula. Es decir, se define que
cierto atributo es una
fórmula y que
la definición de la misma consiste en
la invocación
a un procedimiento utilizando UDP.
Cuando en la sintaxis de la invocación
se escribe
el nombre del objeto invocado y ningún método de invocación, se asume
que se está
invocando con udp, por lo
que puede omitirse y escribirse
directamente:
att|&var = PgmName(
par1, ..., parN)
PARM – Cuando un objeto
es invocado desde
otro con parámetros, debe tener declarada la lista de parámetros que recibe. Esta declaración se realiza mediante la regla:
PARM.
A continuación daremos
más detalles acerca del uso de CALL, UDP y PARM
Suscribirse a:
Entradas (Atom)