10.05.2014 Views

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!