![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Pues va a ser que sí ... yo entendía que simplemente lo que hacía era cambiar el valor de la variable interna, no del teléfono . De todas maneras, el primer mensaje de mamcx me sigue pareciendo demasiado tajante al decir JAMAS. Un ejemplo.Tengo una clase con una propiedad que apunta a otro objeto interno que ocupa un tamaño considerable en memoria. Inicializo la variable a nil y en el Get de la propiedad, si aun vale nil, instancio el obejto. Estoy "alterando el comportamiento/estado interno de un objeto" y creo que es la mejor manera de hacerlo.... ¿no os parece?
__________________
E pur si muove |
|
#2
|
||||
|
||||
|
Por eso mismo... nunca digas nunca Jamas!
![]() Bueno pero eso sigue siendo una tarea de lectura... como esperar a leer el Size de un archivo cuando se pregunte... El problema al que apunto (y en base al titulo de este thread) es asignar una tarea de escritura dentro de una de lectura... bueno, es muy confuso... y puede traer efectos laterales posteriormente... En fin... de todas maneras dentro del contexto de esta discusion creo que quedo claro...
__________________
El malabarista. |
|
#3
|
||||
|
||||
|
Cita:
Según el título, tal y como dice mamcx, se entiende que hablamos de algo así:
Y yo creo que esto último sería incorrecto. Otra cosa sería, tal y como propones (creo), hacer los cálculos necesarios para hallar el valor ¿no?
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin) |
|
#4
|
||||
|
||||
|
Cita:
Cita:
Ejemplo:
__________________
E pur si muove |
|
#5
|
||||
|
||||
|
marto, ¡qué flojo!
Esto que describes, que algunos llaman "lazy construction" sigue correspondiendo al modelo:Calculos; Result := FPropiedad; Y los cálculos pueden modificar otras propiedades privadas del objeto, tal como lo hace Marteens por razones de eficiencia básicamente ya que otras propiedades hacen uso de los mismos valores. Pero aquí se está modificando un aparato externo a fin de cuentas y es lo que es al menos un poco raro. Es algo como: Código:
function TTelefono.Get: TEstado; begin Result := FEstado; DispositivoFisico.Estado := FEstado; end; // Saludos |
|
#6
|
||||
|
||||
|
O dicho de otra forma:
Cita:
// Saludos |
|
#7
|
||||
|
||||
|
Lo cual me parece muy bien hecho por parte de Juan... a ver si asi hay menos gastos en la cuenta de telefono!
__________________
El malabarista. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|