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
  • Instanciar un objeto dinámico
  • Liberar un objeto dinámico
  • Observaciones
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Presentación
Un objeto puede asociarse dinámicamente a 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:
  1. Declarar un objeto dinámico.
  2. Instancia el objeto.
Observaciones:
  • El objeto se libera automáticamente cuando deja de utilizarse. Sin embargo, puede forzar la destrucción del objeto (para desencadenar la ejecución del destructor, por ejemplo).
  • La aplicació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 (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
<ObjectName>
Nombre que identifica la instancia de la clase.
<ClassName>
Nombre que identifica la clase, definido al crear la clase en el editor de código.

Instanciar un objeto dinámico

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

Liberar un objeto dinámico

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

Sintaxis 2:
<ObjectName> = Null
Detalles de la sintaxis
<ObjectName>
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 deja de utilizarse. Sin embargo, puede forzar la destrucción del objeto (para desencadenar la ejecución del destructor, por ejemplo).
  • Para comprobar si se ha asignado un objeto dinámico y si aún no se ha liberado, este objeto debe compararse con NULL. Por ejemplo:
    IF <Object Name> = NULL ...

    IF <Object Name> <> NULL...
Java Special case in Java/Android
The concept of destructor does not exist in Java/Android. Therefore, the code found in the destructor of a class will never be run.
An object is freed by the garbage collector when it is no longer referenced in the application. There is no way to foresee the moment when this operation occurs.
To force an object to be freed, you have the ability to assign it to NULL or to use the Free statement.
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: 30/09/2024

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