Práctica de Objetos
Prueba AddressBlinkerControlWithOffsets y verifique que es idénticamente funcional a
AddressBlinkerControl.
Examine como AddressBlinkerControlWithOffsets se diseña de acuerdo de la documentación
del objeto AddressBlinkerWithOffsets.
'' Archivo: AddressBlinkerControlWithOffsets.spin
'' Otro ejemplo de administrador de cog que se basa en un objeto que
'' observa variables en su objeto padre
''
'' Este método Start solo pasa una dirección variable pero la usa como su
'' ancla para dos variables que se monitorean por ''AddressBlinkerWithOffsets.
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
VAR
long pin, rateDelay
OBJ
Debug:
"FullDuplexSerialPlus"
AddrBlnk: "AddressBlinkerWithOffsets"
PUB TwoWayCom
''Envía mensajes de prueba y valores la Terminal Serial Parallax.
Debug.start(31, 30, 0, 57600)
waitcnt(clkfreq*2 + cnt)
Debug.tx(Debug#CLS)
pin := 4
rateDelay := 10_000_000
AddrBlnk.start(@pin)
dira[4..9]~~
repeat
Debug.Str(String("Ingrese el numero de pin: "))
pin := Debug.getDec
Debug.Str(String("Ingrese el retraso para 'rate':"))
rateDelay := Debug.getDec
Debug.tx(Debug#CR)
Tiempo de Estudio
Preguntas
1) ¿Cuáles son las diferencias entre llamar un método en el mismo objeto y llamar un método en
otro objeto?
2) ¿Llamar a un método en otro objeto afecta la forma en que se pasan los parámetros y valores
de regreso?
3) ¿Cuáles son los requerimientos de archivos que se tienen que satisfacer antes de que un
objeto pueda declarar exitosamente otro objeto?
Pagina 118 · Kit Educativo de Prácticas Propeller: Fundamentos