PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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, utilice la palabra clave object (esta palabra clave corresponde a this en otros lenguajes de programación).
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
Versiones 17 y posteriores
AndroidUniversal Windows 10 App Esta función ya está disponible para las aplicaciones Android y Windows Phone.
iPhone/iPad Esta característica está ahora disponible para las aplicaciones de iPhone/iPad.
Nueva funcionalidad versión 17
AndroidUniversal Windows 10 App Esta función ya está disponible para las aplicaciones Android y Windows Phone.
iPhone/iPad Esta característica está ahora disponible para las aplicaciones de iPhone/iPad.
AndroidUniversal Windows 10 App Esta función ya está disponible para las aplicaciones Android y Windows Phone.
iPhone/iPad Esta característica está ahora disponible para las aplicaciones de iPhone/iPad.
Versiones 21 y posteriores
Universal Windows 10 App Esta función está disponible en el modo Universal Windows 10 App.
Apple Watch Esta función está disponible en el modo Apple Watch.
Nueva funcionalidad versión 21
Universal Windows 10 App Esta función está disponible en el modo Universal Windows 10 App.
Apple Watch Esta función está disponible en el modo Apple Watch.
Universal Windows 10 App Esta función está disponible en el modo Universal Windows 10 App.
Apple Watch Esta función está disponible en el modo Apple Watch.
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.
Versiones 16 y posteriores
Este parámetro puede corresponder a un objeto no dinámico.
Nueva funcionalidad versión 16
Este parámetro puede corresponder a un objeto no dinámico.
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...
AndroidJava 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, puede 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