|
|
|
|
- Resumen de un objeto
- Sintaxis para declarar/instanciar un objeto
- Declarar/Instanciar un objeto
- Declarar/Instanciar un objeto NULL
- Observación: Objeto actual
- Miembros y métodos
- Vida útil de un objeto
- reference sobre un objeto local
- Devolución de un objeto
- Objetos en los bucles
- Liberar el objeto
Instanciación de un objeto
Para acceder a una clase, el objeto debe declararse como parte de la clase a manipular, esto se denomina Instanciación de objeto object. Una instancia es un objeto que pertenece a una clase determinada. To manipular un objeto, usted debe: - Describa la clase.
- Instancia el objeto.
Un objeto puede ser pasado en parámetro a una función o a un Procedure. Observación: Tiene la capacidad de instanciar dinámicamente un objeto a una clase. La implementación del polimorfismo requiere la instanciación dinámica. Para obtener más información, consulte Instanciación dinámica. Ejemplo de objeto: "SourceFile" es objeto de la clase "File. Para este objeto, usted tiene la capacidad de manipular los miembros llamados "Nombre", "Extensión", etc. SourceFile is File object SourceFile is File
Sintaxis para declarar/instanciar un objeto Declarar/Instanciar un objeto <ObjectName> is [object] <Class Name> ([<Parameters>]) Detalles de la sintaxis Nombre del Objeto> <Nombre del Objeto Nombre que identifica la instancia de la clase. <Nombre de la clase> 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. Para obtener más información, consulte Método constructor. Declarar/Instanciar un objeto NULL <ObjectName> is [object] <Class Name> ([<Parameters>]) = NULL Esta sintaxis se utiliza para declarar un objeto sin instanciarlo.. En este caso: - el <- operador se utiliza para tomar un reference sobre el objeto.
- la declarada Variable se comporta como si la declaración fuera una declaración no dinámica: el = operador realiza una copy de los miembros.
- el objeto manejado puede ser devuelto como valor de retorno de la Procedure o método.
- en algunos casos avanzados, el objeto manipulado puede ser destruido para anticipar la operación de destrucción de automatic.
Observación: Objeto actual La palabra clave Object también puede ser usada para identificar el objeto actual. También puede usar la palabra clave This para acceder al objeto actual. reference sobre un objeto local El objeto se crea durante su declaración. El objeto es local de Default. Los objetos locales no se destruyen automáticamente al final de la ejecución de Process. Sólo el local reference es liberado. Por lo tanto, si otro reference fue tomado sobre el objeto, el objeto no será destruido cuando el reference local sea liberado. Ejemplo: // Declaration code of global variables gpo is Class1 dynamic gArr is array of Class1 dynamic // Any code o1, o2, o3 are Class1 gpo1 = o1 Add(gArr, o2) // At the end of process // o1 is not destroyed because it is referenced by the global variable gpo // o2 is not destroyed because it was added to the gArr array // o3 is not destroyed because there is only the local reference
Devolución de un objeto Tienes la capacidad de devolver un objeto manejado por un Variable local dinámico o no dinámico. Observación: En las versiones anteriores, sólo tenías la posibilidad de devolver un objeto manejado por un Variable local dinámico. Objetos en los bucles En un bucle, los objetos pueden ser manejados por variables locales no dinámicas y sin asignación explícita. Los objetos declarados en un bucle se reasignan en cada iteración del bucle y se libera el reference sobre el objeto de la iteración anterior: - si no se ha tomado ningún otro reference, el objeto es destruido.
- si se tomó un reference (Variable global, adición a un array, etc.), el objeto no se destruye.
Ejemplo: // build the array t is array of Class1 dynamic FOR I = 1 TO 10 // create an object corresponding to the subscript o is Class (x) o.m_nIndex = i // add the object into the array Add(t,o) END
Liberar el objeto Los objetos utilizados por las variables locales no dinámicas pueden ser destruidos explícitamente por la palabra clave BORRAR para anticipar la destrucción de automatic. Observación: Esta sintaxis es una sintaxis avanzada y debe utilizarse sólo en casos específicos.. En la mayoría de los casos, la operación de destrucción es automatic. Recordatorio: En la mayoría de los casos, no se requiere el uso de la palabra clave DELETE.. El WLanguage destruye automáticamente los objetos que ya no son usados por ningún Variable. Los casos más comunes son: - destruyendo una set de objetos referenciados de forma cíclica
- liberando los recursos utilizados por la Instance(sockets, archivos, ...) por adelantado a través de la ejecución del destructor.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|