|
- 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
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 Nueva funcionalidad versión 17 Versiones 21 y posteriores Nueva funcionalidad versión 21 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):
- Sintaxis completa (siempre disponible):
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()
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 | | Objeto | Objeto dinámico | Objeto | fotocopiar | fotocopiar | Objeto dinámico | Tomar referencia | Tomar referencia |
- Operador <= operador: fotocopiar
| | | | Operador <= operador | | Objeto | Objeto dinámico | Objeto | fotocopiar | fotocopiar | Objeto dinámico | fotocopiar | fotocopiar |
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 | | Objeto | Objeto dinámico | Objeto | Tomar referencia | Tomar referencia | Objeto dinámico | Tomar referencia | Tomar 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..
Esta página también está disponible para…
|
|
|
| |
| Haga clic en [Agregar] para publicar un comentario |
|
| |
|
| |
| |
| |
| |
| |
| |
| | |
| |