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.
  • Panorama general
  • Manejo de los miembros de un objeto
  • Panorama general
  • Llamada a un miembro que pertenece a un objeto distinto del objeto actual
  • Llamada a un miembro del objeto actual
  • Llamar a un miembro de una clase de ancestros que fue redefinida
  • Llamar a un miembro de una clase general
  • señalar
  • Manejo de los métodos de un objeto
  • Panorama general
  • Llamada a un método que pertenece a un objeto distinto del objeto actual
  • Llamada a un método del objeto actual
  • Llamar a un método de una clase de ancestros que fue redefinido
  • Llamar a un método de una clase general
  • Ejemplo
  • señalar
  • Asignación de objetos
  • Reglas de asignación
  • Detalles y ejemplos
  • Instancias de clases y arrays
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
Panorama general
Para acceder a una clase, el objeto debe ser declarado como parte de la clase amanipular, esto se llama instanciación de objetos.
Una instancia es un objeto que pertenece a una clase determinada.
señalar: Para recuperar la instancia del objeto actual en los métodos de clase, utilice el método objetar palabra clave (esta palabra clave corresponde a esta en otros lenguajes de programación).
Esta página de ayuda presenta:
Versiones 17 y posteriores
AndroidUniversal Windows 10 App Estas características están ahora disponibles para las aplicaciones Android y Windows Phone.
iPhone/iPad Estas funciones ya están disponibles para las aplicaciones de iPhone y iPad.
Nueva funcionalidad versión 17
AndroidUniversal Windows 10 App Estas características están ahora disponibles para las aplicaciones Android y Windows Phone.
iPhone/iPad Estas funciones ya están disponibles para las aplicaciones de iPhone y iPad.
AndroidUniversal Windows 10 App Estas características están ahora disponibles para las aplicaciones Android y Windows Phone.
iPhone/iPad Estas funciones ya están disponibles para las aplicaciones de iPhone y 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.
Manejo de los miembros de un objeto

Panorama general

Un miembro de un objeto es un dato asociado con el objeto. Un objeto es necesariamente propietario de todos los miembros descritos en la clase. Un miembro también se llama propiedad del objeto.
Los miembros de un objeto corresponden a todos los miembros definidos para la clase fuente del objeto.
Recordatorio: un miembro es declarado en la clase.

Llamada a un miembro que pertenece a un objeto distinto del objeto actual

Para llamar a un miembro que pertenece a un objeto distinto al objeto actual, se debe utilizar la siguiente sintaxis:
<Object Name> . <Member Name>
<Object Name>: <Member Name>
El miembro se busca entre los miembros de la clase de objeto. Si no se encuentra el miembro, se busca entre los miembros de las clases de ancestros de la clase de objeto.

Llamada a un miembro del objeto actual

Se pueden usar dos sintaxis para llamar a un miembro del objeto actual:
  • Sintaxis simplificadaSi la siguiente opción está activada, esta opción está disponible: "Clases: prefijos opcionales ":" y "::::" para acceder a los miembros y métodos" (esta opción está habilitada por defecto para los nuevos proyectos):
    <Member Name>
  • Sintaxis completa (siempre disponible):
    :<Member Name>

Llamar a un miembro de una clase de ancestros que fue redefinida

Para llamar a un miembro que pertenece a una clase de ancestros que fue redefinida, se debe usar la siguiente sintaxis:
<Object Name> . <Class Name> . <Member Name>
<Object Name>: <Class Name>:: <Member Name>

Llamar a un miembro de una clase general

Para llamar a un miembro que pertenezca a una clase general, se debe utilizar la siguiente sintaxis:
<Class Name> . <Member Name>
<Class Name>:: <Member Name>

señalar

Los accesos a los miembros pueden ser secuenciados. Por ejemplo:
// Sequence of members
MyObject.Member1[1]:Member2:Member3
Manejo de los métodos de un objeto

Panorama general

Los métodos de un objeto son características asociadas con el objeto. Un objeto posee necesariamente todos los métodos descritos en la clase. Estos métodos se pueden llamar de diferentes maneras según la ubicación de la llamada.

Llamada a un método que pertenece a un objeto distinto del objeto actual

Para llamar a un método que pertenece a un objeto distinto al objeto actual, se debe utilizar la siguiente sintaxis:
<Object Name> . <Method Name> ([<Parameters>])
<Object Name>: <Method Name> ([<Parameters>])
El miembro se busca entre los métodos de la clase de objeto. Si no se encuentra el método, se busca entre los métodos de las clases de ancestros de la clase de objeto.

Llamada a un método del objeto actual

Para llamar a un método que pertenece al objeto actual, se debe utilizar la siguiente sintaxis:
. <Method Name> ([<Parameters>])
Nota: Para conservar la compatibilidad con las versiones anteriores, se puede utilizar la siguiente sintaxis: ":<Nombre método>([<Parámetros>])". Para usar esta sintaxis, desmarque "Clases: prefijos opcionales (":":" y ":::") para acceder a los miembros y a los métodos".

Llamar a un método de una clase de ancestros que fue redefinido

Para llamar a un método de una clase de ancestros que fue redefinido, se debe usar la siguiente sintaxis:
<Object Name> . <Class Name> . <Method Name> ([<Parameters>])
<Object Name>: <Class Name>:: <Method Name> ([<Parameters>])

Llamar a un método de una clase general

Para llamar a un método de una clase general, se debe utilizar la siguiente sintaxis:
<Class Name> . <Method Name> ([<Parameters>])
<Class Name>:: <Method Name> ([<Parameters>])

Ejemplo

FileS is CFile
FileD is CFile
str1,str2 are strings

// Call the method for file selection
FileS.FileSelection()
FileD.FileSelection()

// Call the method for checking the available space
IF FileS.RemainingSpace(FileD.Directory[[1]]) THEN
str1 = FileS:Directory + "\" + FileS:Name + "." + FileS:Extension
str2 = FileD:Directory + "\" + FileD:Name + "." + FileD:Extension
fCopyFile(str1, str2)
ELSE
Error("Insufficient space")
END

señalar

Las llamadas a los métodos se pueden utilizar en secuencia. Por ejemplo:
// Sequence of .NET accesses
NETObject.Metod1().Member2[n].Method3()

// Method that allocates and returns a class chained with a call
ClassObject.AllocateOperator().PerformOperation()
Asignación de objetos

Reglas de asignación

Las reglas de asignación entre objetos y entre objetos dinámicos son las siguientes:
  • Operador = Operador: Copiar o tomar referencia
    Operador = Operador
    ObjetoObjeto dinámico
    Objetofotocopiarfotocopiar
    Objeto dinámicoTomar referenciaTomar referencia
  • Operador <= operador: fotocopiar
    Operador <= operador
    ObjetoObjeto dinámico
    Objetofotocopiarfotocopiar
    Objeto dinámicofotocopiarfotocopiar
señalar: Para los miembros declarados como "XXX dynamic", el operador <= realiza una copia de la referencia, por lo tanto obtenemos el mismo objeto después de la asignación.
  • <- Operador: Tomar referencia
    <- Operador
    ObjetoObjeto dinámico
    ObjetoTomar referenciaTomar referencia
    Objeto dinámicoTomar referenciaTomar referencia

Detalles y ejemplos

  • Asignación entre dos objetos:
    O1, O2 are Class
    // The = operator is used to copy a member
    O1 = O2
    // Operator
    • El = operador y el <= operador se usan para copiar miembros. En este caso, todos los miembros se copian en la instancia O1.
    • Caso especial para el arrays: Sólo se copian los localesarrays. Todo el uso no local arrays en la misma instancia. Esta observación no se aplica a la asociación. arrays.
    • El operador <- se utiliza para tomar una referencia sobre el objeto pasado en el operando.
  • Asignación entre dos objetos dinámicos:
    pO1 is dynamic Class
    pO2 is dynamic Class
    // The = operator is used to take reference
    pO1 = pO2
    // Operator
    • El = operador y el operador <- se utilizan para tomar referencia. En este caso, la variable dinámica pO1 utiliza el objeto pO2.
    • El operador <= permite copiar los miembros. En este caso, todos los miembros se copian en la instancia pO1.
    • Para poder copiar con el operador <=, las variables dinámicas p01 y p02 deben ser asignadas y declaradas con el mismo tipo.
  • Asignación entre dos objetos (dinámico y no dinámico):
    O1 is Class
    pO1 is dynamic Class
    // The = operator is used to take reference
    // The dynamic variable pO1 is using the O1 object
    pO1 = O1

    // The = operator is used to copy members
    // All the members are copied into the O1 instance
    O1 = pO1
    • Según el orden de los operandos, el operador = se utiliza para copiar barras o para tomar como referencia.
    • Para simplificar estas sintaxis, se recomienda utilizar los operadores <= y <-:
      • el operador <= se utiliza siempre para realizar una copia de las barras. Para los miembros declarados como "XXX dynamic", el operador <= realiza una copia de la referencia, por lo tanto obtenemos el mismo objeto después de la asignación.
      • el operador <- se utiliza siempre para realizar una toma de referencia.
        O1 is Class
        pO1 is dynamic Class
         
        // <- operator: taking reference
        // The dynamic variable pO1 points to the O1 object
        p01 <- O1
         
        // <= operator: copying members
        // All the members are copied into the pO1 instance
        pO1 <= O1

Instancias de clases y arrays

Cuando se copian instancias de clases, todos los miembros de la clase se copian en la nueva instancia, excepto el archivo arrays. Por lo tanto, si se modifica el valor de un array miembro, este valor se modifica en todas las instancias.
Para ser independiente arrays en todas las instancias de las clases, un local array debe ser declarado como sigue:
SystemClass is Class
aDefaultArray is local array of 1 int
END
El asociativoarrays, las pilas y las colas no pueden ser declaradas localmente. Al copiar instancias, la asociativaarrays, las colas y las pilas se copian automáticamente..
Ver Instanciación de un objeto para más detalles.
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario