Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki:2.-desarrollo-app:2.3.-codigo:i.-herencia:start [2023/06/09 11:05]
ary
wiki:2.-desarrollo-app:2.3.-codigo:i.-herencia:start [2023/06/09 11:42] (actual)
ary
Línea 1: Línea 1:
-==== Herencia entre Colecciones ====+===== Herencia entre Colecciones =====
  
 XOne ha implementado un atributo a nivel de Colección que permite heredar Grupos, Frames, Propiedades y Nodos.  XOne ha implementado un atributo a nivel de Colección que permite heredar Grupos, Frames, Propiedades y Nodos. 
 \\ \\
 Esta herencia nos permite agilizar la programación de la Aplicación, pero es importante conocer que al heredar de una colección lo que hacemos es simular como una mezcla entre Colección PADRE y Colección HIJO, pues siempre van a prevalecer las definiciones y funciones del HIJO.  Esta herencia nos permite agilizar la programación de la Aplicación, pero es importante conocer que al heredar de una colección lo que hacemos es simular como una mezcla entre Colección PADRE y Colección HIJO, pues siempre van a prevalecer las definiciones y funciones del HIJO. 
-\\ 
 \\ \\
 El atributo que se utiliza **inherits** y se define en la declaración de la Colección. El atributo que se utiliza **inherits** y se define en la declaración de la Colección.
-\\ 
-<note important>Al heredar de una colección la colección HIJO resultante tendrá todos los elementos de Colección PADRE e HIJO, pero en caso de existir duplicidad de algún elemento (group, frame, prop, etc) va a primar lo que esté definido en la colección HIJO</note> 
 \\ \\
 <code xml> <code xml>
Línea 14: Línea 11:
 </code> </code>
 \\ \\
 +<note important>Al heredar de una colección la colección HIJO resultante tendrá todos los elementos de Colección PADRE e HIJO, pero en caso de existir duplicidad de algún elemento (group, frame, prop, etc) va a primar lo que esté definido en la colección HIJO</note> 
 +\\ 
 +{{ :wiki:2.-desarrollo-app:2.3.-codigo:i.-herencia:herencia.png?500 |}} 
 +\\
 \\ \\
 === Ejemplo: === === Ejemplo: ===
Línea 87: Línea 87:
 </coll> </coll>
 </code> </code>
-------------------------------------------------------------------------------------- 
-^ATRIBUTOS^ 
-|**file**| define el nombre del xml donde están definidos los props que se agregaran a la colección.| 
-|**group**| define en que grupo se quiere agregar el conjunto de props.| 
-|**frame**| define en que frame se quiere agregar el conjunto de props.| 
-\\ 
-**Ejemplo:** 
-\\ 
-<code xml> 
-   Definición en la colección 
-   <inflate file="MiBarraDeBotonesGuay.xml" /> 
  
-   Estructura del fichero MiBarraDeBotonesGuay.xml 
-   <xml> 
-                <frame name=”FrameBotonera” width=”100%” height=”10%” /> 
-   <prop name=”MAP_OK”     frame=”FrameBotonera” type=”B” width=”25%” height=”100%” method=”ExecuteNode(ok)”    /> 
-  <prop name=”MAP_SALIR” frame=”FrameBotonera” type=”B” width=”25%” height=”100%” method=”ExecuteNode(salir)” /> 
-  </xml> 
- 
-</code> 
-\\ 
- 
-^CARACTERÍSTICAS^ 
-|Tendría en cuenta el orden en el que se “inflan” los ficheros, es decir, si <nowiki>FrameBotonera</nowiki> tuviese newline=”false” lo tendría en cuenta con respecto a el prop que este definido antes del inflate.| 
-|Si al nodo **inflate** se le pone atributo group y o frame, estos atributos los podemos heredar a las propiedades de dentro que no los tengan ya definidos.| 
-|Sería recursivo, un inflate puede contener otro.| 
-|Si que sería un problema tener propiedades con el mismo nombre en un inflate y dentro de la colección real al estilo del problema de la herencia múltiple en C++ y otros.| 
-\\ 
-*/ 
 =====Nodo Include-Layout===== =====Nodo Include-Layout=====
 \\ \\