Diseño de elementos software con tecnologías basadas en componentes. IFCT0609. José Carlos García Bermúdez. Читать онлайн. Newlib. NEWLIB.NET

Автор: José Carlos García Bermúdez
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9788416629015
Скачать книгу
iDef

      Definición

      Función

      Conjunto de sentencias escritas en un lenguaje de programación, que utilizan unos parámetros para producir un resultado.

      2.2.Orientación a objetos

      La Programación Orientada a Objetos (POO) no consiste simplemente en nuevas características añadidas a las técnicas de programación estructurada y modular, es una nueva forma de pensar sobre el desarrollo de software y el proceso de descomposición de problemas.

      Con la orientación a objetos el proceso se centra en simular los elementos de la realidad que están asociados al problema, ajustándose más al pensamiento humano que al comportamiento de la máquina, por lo que está más cercana a cómo se expresarían las cosas en la vida real.

      Grady Booch, autor de Análisis y diseño orientado a objetos, define la Programación Orientada a Objetos como:

      Un método de implementación en el que los programas son organizados como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son miembros de jerarquías de clases unidas a través de una relación de herencia.

      Las aplicaciones orientadas a objetos están formadas por un conjunto de objetos que interaccionan entre sí enviándose mensajes. Los objetos similares se abstraen en clases, que son las que definen su comportamiento. Se dice que un objeto es una instancia de una clase.

iImp

      Importante

      Los valores que se asignan a los atributos de un determinado objeto hacen que ese objeto sea único.

      La clase define su comportamiento y sus características generales.

      La POO es un método de implementación en el que los programas están organizados como colecciones de objetos, pertenecientes a alguna clase. Una clase es la representación de un concepto y contiene toda la información necesaria para abstraer dicho concepto:

      ilst1Los datos, llamados “atributos”, que almacenan la información y describen su estado.

      ilst1Las operaciones, llamadas “métodos”, que definen el comportamiento del objeto y actúan sobre sus datos. Al indicar a un objeto que ejecute una operación, se dice que se le pasa un mensaje.

iRec

      Recuerde

      En la programación estructurada, los datos y los procesos están separados, ya que el objetivo es el procesamiento de unos datos de entrada para obtener como resultado una información de salida.

      En la POO, los objetos agrupan los datos y los procesos (que actúan sobre esos datos).

      2.3.Ventajas e inconvenientes

      La POO presenta estas ventajas respecto a la programación estructurada:

      ilst1Ocultación de la información, que hace que las aplicaciones sean más fáciles de mantener, ya que se ocultan los detalles de la implementación.

      ilst1Encapsulado de datos y procedimientos, que permite mayor nivel de abstracción y facilita la descomposición del sistema en elementos más pequeños.

      ilst1Herencia de clases, que permite reutilizar su comportamiento sin necesidad de reescribir el código.

      ilst1Reusabilidad de clases ya definidas y probadas, pues con un diseño adecuado es posible que sean reutilizadas en otras aplicaciones.

      ilst1Fiabilidad, ya que al dividir el problema en partes más pequeñas es posible realizar la prueba de manera independiente y aislar con mayor facilidad los posibles errores que pudieran surgir.

      Por el contrario, tiene los siguientes inconvenientes:

      ilst1Cambio en la forma de abordar el diseño de la aplicación, lo que requiere un análisis más exhaustivo.

      ilst1Complejidad en la implementación, que no facilita el desarrollo en aplicaciones pequeñas.

      ilst1Mayor curva de aprendizaje, ya que el dominio de las técnicas fundamentales de la POO es más complejo.

iAct

      Actividades

      1.¿Qué ventajas de la programación orientada a objetos considera más importantes?

      2.Además de los inconvenientes indicados, ¿ha identificado algún otro?

      Un concepto muy importante de la orientación a objetos es la ocultación de la información, que permite definir de qué forma son accesibles los atributos y métodos de una clase.

      De una forma básica, la ocultación consistiría en aislar la información (atributos) de forma que solo pueda ser modificada mediante las operaciones definidas para la clase (métodos).

      Con la ocultación, se consigue proteger la información, evitando que se haga un mal uso de ella. La información no podrá ser modificada directamente, ya que cualquier cambio se realizará a través de alguno de los métodos definidos para la clase. Estos métodos incluirán las comprobaciones necesarias para asegurar que la información se modifica de forma adecuada.

iDef

      Definición

      Array

      Permite contener elementos del mismo tipo en una zona de almacenamiento continuo.

iEje

      Ejemplo

      Una aplicación pretende registrar la nota media de cada uno de los 25 alumnos de un curso, para lo que define un array de 25 posiciones que pueda almacenar valores numéricos con decimales.

      Al utilizar un enfoque orientado a objetos, se define la clase “curso”, con el atributo “nota_media” que se corresponde con el array de notas. Habría dos opciones:

      ilst2destSi no se aplica el principio de ocultación, los objetos de la clase “curso” tendrán el atributo “nota_media” visible para el resto de objetos de la aplicación, por lo que cualquiera podrá modificarlo sin ningún tipo de control, indicando valores negativos o demasiado altos.

      ilst2destAl aplicar