programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
programación i - Universidad ORT Uruguay
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
46 Programación I<br />
de enviar las flores con información adicional (qué flores, a qué dirección, qué día). Cómo lo<br />
lleva adelante no lo sabemos y, en realidad, tampoco es relevante. Por ejemplo, Florencia podría<br />
llevarlas ella misma o llamar por teléfono a un conocido de ella en Colonia o ir a la Terminal de<br />
Buses y despacharlas. Por eso decimos que el mecanismo está "encapsulado".<br />
Si el mensaje se lo hubiera dado a mi esposo, probablemente el método que ejecutara fuera otro:<br />
quizás él mismo fuera a la florería o las llevara personalmente. Es un caso de polimorfismo, el<br />
mensaje es el mismo ("enviar flores a la abuela"), pero la implementación depende del receptor.<br />
La florista Florencia puede usar cualquiera de las técnicas vistas para resolver el envío, pero en<br />
realidad, dado que uno ha tratado en alguna otra ocasión con floristas, se tiene una idea de cuál<br />
es el comportamiento esperado. En términos de programación orientada a objetos, se dice que<br />
Florencia es una instancia de la clase Florista. Todo objeto es instancia de una clase.<br />
Sabemos también que Florencia nos pedirá dinero por la transacción y nos emitirá un recibo.<br />
Esta información la sabemos porque además de ser florista, en forma general es comerciante.<br />
Los comerciantes piden dinero por las transacciones y emiten recibos. Los floristas son una<br />
especialización de los comerciantes. Mi conocimiento de los floristas lo puedo expresar en<br />
términos de jerarquía de clases. Realizando una abstracción, o sea, tomando los elementos más<br />
relevantes, una posible jerarquía (Ilustración 4 Jerarquía) es:<br />
Ilustración 4 Jerarquía<br />
Florencia, instancia de la clase Florista, heredará todos los comportamientos de los<br />
comerciantes. Florista es una subclase de la clase Comerciante. Comerciante es superclase de<br />
Florista y de Almacenero. Las subclases heredan de las superclases.<br />
Florista es una clase concreta, pues se espera que haya instancias de ella (por ejemplo<br />
Florencia). Ejemplos de instancias de la clase Pintor podría ser Dalí y Picasso; ejemplos de<br />
instancias de la clase Perro podrían ser Pluto, Firulais y Lassie; de la clase Gato sería Garfield.<br />
No se espera que haya instancias de la clase Animal, se espera que haya de Gato o de Perro.<br />
Así, Animal es una clase abstracta y Gato es una clase concreta.<br />
4.5 Introducción a clases y objetos: Biblioteca<br />
Supongamos que se desea modelar la Biblioteca de la <strong>Universidad</strong>. En primera instancia, se<br />
trata de identificar los principales conceptos y cómo se relacionan. Probablemente aparezcan<br />
muchos términos: libro, revista, diario, mesa, silla, computadora, estantería, funcionario, etc.