UML Domine el lenguaje de modelado más utilizado en la actualidad
3. COMENZARA MODELAR El po lim o rfism o es una de las características salientes de la Programación Orientada a Objetos y uno de los conceptos más difíciles de asimilar cuando empezamos a conocer este fascinante mundo. Para ilustrarlo, nada mejor que tomar un pequeño ejemplo de la vida cotidiana. Seguramente habremos probado alguna vez un té de sabor Frutos D e l Bo squ e (muy recomendable). Los saquitos de té pueden ser de frutillas, aránda nos, cerezas o frambuesas. Nuestro saquito de té de sabor Frutos del Bosque es, en rea lidad, un saquito de té polimórfico, ya que puede adoptar cualquiera de los cuatro sabores que especializan el sabor Frutos del Bosque. Si lo pensamos con más orienta ción al mundo del software, nuestro envase de saquitos es un arreglo de variables de tipo Frutos del Bosque. Una variable de este tipo es una variable po lim ó rfica porque durante su ejecución puede cambiar su tipo para aceptar cualquiera de las clases hija (o clases que hereden de sus clases hija también). De esta manera, podemos introducir en el arreglo variables de tipo Frambuesa, Frutilla o Cerezas con absoluta seguridad de que no ocurrirán, ni en tiempos de compilación o en tiempos de ejecución, errores de tipo. Nos podemos preguntar en este momento qué ocurre con aquellas clases que no heredan de ninguna otra. Esto es perfectamente válido, ya que no todas tienen que entrar en la jerarquía de herencia. Si una hereda de otra es porque la especializa y existen motivos que justifiquen esa decisión. Sin embargo, por un ifo rm id ad y con sistencia, la mayoría de los lenguajes orientados a objetos adoptan la siguiente polí tica. Definen una clase Object de la cual heredan todas las clases del sistema. Luego, todas las clases heredan de alguna otra. Si no hereda de ninguna, se asume implíci tamente que heredan de la clase Object. Sin embargo, esta es una política que no se suele reflejar en los modelos UML , sino que únicamente se modela en aquellas jerarquías definidas explícitamente por el usuario. Object Clases Predefinidas Clases Definidas por el Usuario Integer System Exception Libro Autor F igu ra 11. Todas las clases heredan de la clase Object. 74
RkJQdWJsaXNoZXIy MjI4NDcx