Comunicacion entre objetos
fernando parodi
parodi.fer en gmail.com
Mar Feb 10 04:03:05 CET 2009
En casi todos los manuales en los que busque decia "los objetos se comunican
mediante mensajaes" (?)
pero no logro comprender como y los ejemplos que dan son realmente inutiles
o muy comlicados para alguien que esta
empesando con POO.
Para probar la teoria a modo de ejercicio trate de repetir el ejemplo de un
articulo de una revista(no tenia codigo solo diagramas UML)
Se crean modelan 2 objetos "Valvula" y "Sensor" yo los escribi asi:
#Nombre Archivo: Valvula.py
class Valvula:
def __init__(self):
self.condicion = 0 #(0= cerrado, 1=abierto)
self.caudal = 0 #caudal inicial
def Abrir(self):
self.condicion = 1
def Cerrar(self):
self.condicion = 0
def Caudal_Actual(sefl):
self.caudal=sensor1.Caudal_Medido()
return self.caudal
---------------------------------------
#Nombre Archivo: Sensor.py
class Sensor():
def __init__(self):
self.caudal = 10
def Caudal_Medido(self):
#codigo para medir
return self.caudal #por ejemplo
----------------------------------------
despues para probar los cargo en el IDLE.
>>> import Valvula
>>> import Sensor
>>> valvula1 = Valvula()
>>> sensor1 = Sensor()
>>> valvula1.Caudal_Actual()
Y me da un error de que sensor1 no esta defindo, bueno ya probe darle la
vuelta varias veces a esto.
La cuestion es que yo quiero preguntarle a la valvula que caudal esta
pasando, entonces ella le tiene que preguntar al sensor que caudal esta
pasando
y alli esta el meollo de la cuestion como hacer que valvula le tire un
mensajillo al sensor
"Querido Sensor:
Como estas? y la familia como anda? los sensorcitos ya estan grandes
seguro, y si.. los años pasan.
Pero bueno, el motivo por el cual te escribo es para preguntarte que
caudal estas midiendo ahora mismo?
Saludos y abrazos
siempre tuya Valvula"
bueno algo asi. Se entiende lo que no entiendo?
Gracias a todos por tan solo leer mi msg.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es