Programación OO. Un ejemplo con ascensores
Antonio Castro
acastro en ciberdroide.com
Jue Dic 2 10:26:22 CET 2004
On Thu, 2 Dec 2004, david _ wrote:
> * Botones (desde dentro del ascensor)
> - Numero de Botones
> - IrA, es para marchar de una planta a otra
IrA Sería conceptualmente una función. Se nota que te cuesta
mucho cambiar de mentalidad. ;-)
>
> * Planta (fuera del ascensor), para cuando los ascensores son llamados
> desde una planta, desde fuera
> - PuertaAbierta, por si el ascensor esta parado en esta planta o
> no, y permite llamarlo
El objeto sería Puerta. Tendría como mínimo un atributo de estado
con dos valores. (cerrada, abierta).
> - AscensorViniendoAPlanta, cuando el ascensor se mueve con destino
> a una planta
Esto parece un estado del objeto ascensor y su descripción
es mejorable. Parece que hay mezcla de dos atributos en uno
solo. MovimientoAscensor con tres posibles valores. (subiendo,
bajando, parado) Y el destino. Lo del destino debe tener en
cuenta que es algo que está en función de un algoritmo. Un
ascensor puede tener diferentes peticiones pendientes. Unas son
claramente para el. Otras podrían serlo y lo que estamos llamando
ahora destino sería la orden que ha sido asignada a un ascensor y
que se está ejecutando.
> - DistanciaAscensorMasCercano, es el numero de plantas a recorrer
> desde la planta al ascensor que se encuentre mas ceercano a la planta
Distancia es un mal atributo cuando se piensa en terminos de objetos.
La distancia sería elresultado de una evaluación en la cual hay
implicados dos objetos. Ascensor y Planta. Los atributos serían
posición para el ascensosr, y numero de planta para planta.
> * Ascensor
> - Botones, y un Objeto
> - Planta (donde esta situado actualmente)
Mejor que planta posición.
> - EstadoPuerta: Abierta, parada en una planta; o Cerrada, es que
> se esta moviendo.
> * Edificio. es la estructura que alberga todo
> - NumeroPlantas, plantas que tiene el edificio
> - NumeroAscensores, que contiene el edificio
El edificio será el objeto que contenga a los restantes objetos.
> Creo que es una mejora, pero seguro que falta algo. Alguien me ayuda?
> david
No vas mal. No se cambia de mentalidad simplemente comprendiendo
unos principios. Estás en el camino correcto.
--
Un saludo
Antonio Castro
/\ /\
\\W//
_|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . acastro en ciberdroide.com |
+()()()---------()()()--------------------+
Más información sobre la lista de distribución Python-es