06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 12 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en PostgreSQL<br />

El encapsulamiento comporta las siguientes ventajas:<br />

• La modificación interna (<strong>de</strong> la implementación) <strong>de</strong> un objeto para corregirlo<br />

o mejorarlo no afecta a sus usuarios.<br />

• La dificultad inherente a la modificación <strong>de</strong> la implementación <strong>de</strong> un objeto<br />

sea in<strong>de</strong>pendiente <strong>de</strong>l tamaño total <strong>de</strong>l sistema. Esto permite que los<br />

sistemas evolucionen con mayor facilidad.<br />

• La simplificación en el uso <strong>de</strong>l objeto al ocultar los <strong>de</strong>talles <strong>de</strong> su funcionamiento<br />

y presentarlo en términos <strong>de</strong> sus propieda<strong>de</strong>s. Al elevar el nivel <strong>de</strong><br />

abstracción se disminuye el nivel <strong>de</strong> complejidad <strong>de</strong> un sistema. Es posible<br />

mo<strong>de</strong>lar sistemas <strong>de</strong> mayor tamaño con menor esfuerzo.<br />

• Constituye un mecanismo <strong>de</strong> integridad. La dispersión <strong>de</strong> un fallo a través<br />

<strong>de</strong> todo el sistema es menor, puesto que al presentar una división entre interfaz<br />

e implementación, los fallos internos <strong>de</strong> un objeto encuentran una<br />

barrera en el encapsulamiento antes <strong>de</strong> propagarse al resto <strong>de</strong>l sistema.<br />

• Permite la sustitución <strong>de</strong> objetos con la misma interfaz y diferente implementación.<br />

Esto permite mo<strong>de</strong>lar sistemas <strong>de</strong> mayor tamaño con menor<br />

esfuerzo.<br />

Estas características <strong>de</strong>l encapsulamiento han contribuido en gran medida<br />

a la buena reputación <strong>de</strong> la OO.<br />

Paradójicamente, el encapsulamiento, a pesar <strong>de</strong> ser uno <strong>de</strong> los conceptos básicos<br />

en la OO, no siempre se interpreta y se aplica correctamente. Especialmente<br />

en lo referente a encapsulamiento <strong>de</strong> atributos.<br />

Diferenciemos operación y método a través <strong>de</strong> un ejemplo.<br />

Consi<strong>de</strong>remos tres objetos: polígono, círculo y punto.<br />

A los tres se les solicita la operación <strong>de</strong> imprimir. En esta situación, tenemos que:<br />

• La operación solicitada es la misma, porque el significado <strong>de</strong>l resultado es el mismo.<br />

• Cada objeto ejecuta la operación <strong>de</strong> forma diferente; es <strong>de</strong>cir, con un método diferente.<br />

• Cada objeto, internamente, pue<strong>de</strong> tener más <strong>de</strong> un método y selecciona el más apropiado<br />

según las circunstancias.<br />

Las operaciones no son exclusivas <strong>de</strong> los tipos <strong>de</strong> objeto, los métodos<br />

sí. Una operación especifica “qué” hacer y un método “cómo” hacerlo.<br />

Esta diferencia permite tener múltiples métodos para una misma<br />

operación.

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

Saved successfully!

Ooh no, something went wrong!