AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / POO (Programación Orientada a Objetos)
  • Presentación
  • Sintaxis
  • Declarar un objeto dinámico
  • Instanciación de un objeto dinámico
  • Liberación de un objeto dinámico
  • Observaciones
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Un objeto puede ser dinámicamente associated con una clase, hablamos de instanciación dinámica de objeto.
La instanciación dinámica de un objeto permite crear un objeto en un momento dado y liberar este objeto cuando ya no se utiliza.
Para instanciar un objeto, debe hacerlo:
  1. Declarar un objeto dinámico.
  2. Instancia el objeto.
Observaciones:
  • El objeto se libera automáticamente cuando ya no se utiliza.. Sin embargo, puede forzar la destrucción del objeto (para desencadenar la ejecución del destructor, por ejemplo).
  • La implementación del polimorfismo requiere la instanciación dinámica.
  • Para recuperar la instancia del objeto actual en los métodos de la clase, use la palabra clave object (o la palabra clave this).
MFile is Class
Name is string
Extension is string
Directory is string
END

SourceFile is object MFile dynamic
// ...
// Create the object
SourceFile = new MFile
// Process on the object...
// ...
// Free the object
delete
Sintaxis

Declarar un objeto dinámico

<ObjectName> is dynamic [object] <ClassName>
Detalles de la sintaxis
Nombre del Objeto> <Nombre del Objeto
Nombre que identifica la instancia de la clase.
<ClassName>
Nombre que identifica a la clase, definido al crear la clase en el editor de código.

Instanciación de un objeto dinámico

<ObjectName> = new <ClassName> ([<Parameters>])
Detalles de la sintaxis
Nombre del Objeto> <Nombre del Objeto
Nombre que identifica la instancia de la clase.
<ClassName>
Nombre que identifica a la clase, definido al crear la clase en el editor de código.
Parámetros> <Parámetros
Parámetros opcionales del constructor.

Liberación de un objeto dinámico

Sintaxis 1:
delete <ObjectName>
Detalles de la sintaxis
Nombre del Objeto> <Nombre del Objeto
Nombre que identifica la instancia de la clase.

Sintaxis 2:
<ObjectName> = Null
Detalles de la sintaxis
Nombre del Objeto> <Nombre del Objeto
Nombre que identifica la instancia de la clase.
Este parámetro puede corresponder a un objeto no dinámico.

Observaciones

  • El objeto se libera automáticamente cuando ya no se utiliza.. Sin embargo, puede forzar la destrucción del objeto (para desencadenar la ejecución del destructor, por ejemplo).
  • Para verificar si un objeto dinámico está asignado y si todavía no se ha liberado, este objeto debe compararse con NULL. Por ejemplo:
    IF <Object Name> = NULL ...

    IF <Object Name> <> NULL...
Java Caso especial en Java/Android
El concepto de destructor no existe en Java/Android. Por lo tanto, el código encontrado en el destructor de una clase nunca se ejecutará.
Un objeto es liberado por el recolector de basura cuando ya no está referenciado en la aplicación.. No hay forma de prever el momento en que esta operación ocurra..
Para forzar la liberación de un objeto, tienes la posibilidad de asignarlo a NULL o utilizar la sentencia Libre.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local