Sie sind auf Seite 1von 9

.

Ciencias de la Ingeniería y Aplicadas (CIYA).

Ingeniería en Informática y Sistemas Computacionales.

Cuarto Ciclo.

Analisis y Diseño de Sistemas Estructurado.

Programación Orientada a Objetos.

 Alava García Maritza Maribel.


 Barrera Guale Edison Fernando.
 Cercado Basurto David Alexander.
 Jaramillo Chonillo Darlin Fabián.
 García Fuentes Janara Aslehy.
 Mendoza Franco Diana de Jesús.
 Suárez Vera Yosselin Tatiana.
 Toca Ortega Jose Wladimir.
 Ulloa Latacunga Bryan Alexander.

Ing. Carlos Chavez.

Marzo – Agosto 2019


Introducción
Cuando hablamos de Programación Orientada a Objetos, estamos hablando de un paradigma
de programación, es decir una forma en la cual nosotros podemos resolver una problemática a
partir clases y objetos. Pero ¿Qué es una clase? ¿Qué es un Objeto?, estas interrogantes lo
explicaremos brevemente a través de unos sencillos ejemplos; si nos fijamos en nuestro
alrededor podemos encontrar una gran cantidad de entidades, como por ejemplo: un teclado,
un mouse, un lápiz, un borrador, etc., en fin, a todas éstas entidades, las conocemos como
objetos, y cada uno de estos objetos tienen rasgos que los hacen diferentes a otros, por
ejemplo, un lápiz es diferente a un borrador, por su tamaño, su color, el material del cual está
hecho, entre otras características.

Tanto el lápiz como el borrador, son objetos, ambos pueden realizar diferentes acciones, el
lápiz nos sirve para escribir y el borrador, para borrar, así de simple, entonces, ya
adentrándonos al mundo de la programación, un Objeto es una entidad, que tiene
características que lo hacen diferente a otros, y éste puede realizar diferentes acciones, en
Programación Orientada a Objetos, las Características no son más que variables, las cuáles
llamaremos atributos y a las acciones que puede realizar un Objeto las llamaremos métodos.

Bien y ahora, ¿Qué es una Clase?, por ejemplo, si tomamos dos lápices, uno convencional y
uno de dibujo, notaremos que ambos a pesar de ser el mismo tipo de objeto Lápiz, tiene
características diferentes, el color, el peso, el tipo de madera etc., pero si quitamos estas
diferencias, lo que obtenemos será un lápiz genérico, en este caso un molde, el cual podemos
utilizar para crear otros lápices. Ya con ésta idea, podemos definir que una clase es un molde,
algo abstracto con lo cual nosotros podemos crear objetos a partir de ciertos atributos y
ciertos métodos.

En programación nosotros diseñaremos nuestras clases, de tal forma que represente una y
solo una cosa, esto hará que necesitemos muchas clases para nuestra aplicación. Cuando
estemos trabajando con el paradigma de Programación Orientada a Objetos, es innegable que
saldrán a flote temas como herencia, polimorfismo, encapsulamiento, entre otros, estos los
veremos más adelante.
Objetivos

Objetivo General:

Analizar e Interpretar los conocimientos que vallamos a adquirir por medio de éste trabajo

investigativo.

Objetivos Específicos:

 Aprender los conceptos básicos de la programación orientada a objetos,

comportamiento, relaciones y operaciones.

 Comprender por qué la programación orientada a objetos sirve para reutilizar código.

 Comprender los principios básicos de la programación orientada a objetos.


Programación Orientada a Objetos
(WIKIPEDIA, 2019) Nos facilita la siguiente información:

La programación orientada a objetos (POO, u OOP según sus siglas en inglés Object-
Oriented Programming) es un paradigma de programación que viene a innovar la forma
de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de
datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.

Muchos de los objetos prediseñados de los lenguajes de programación actuales


permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos
lenguajes permiten al usuario la creación de sus propias bibliotecas.

Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción,


polimorfismo, acoplamiento y encapsulamiento.

En el Libro (Programación Orientada a Objetos, 2012) encontramos que “La


Programación Orientada a Objetos supone un cambio en la concepción del mundo de desarrollo
de software, introduciendo un mayor nivel de abstracción que permite mejorar las
características del código final”.
Herencia
Según los autores del Libro (Programación Orientada a Objetos, 2012) nos relatan
que:
Desde el punto de vista de la programación orientada a objetos, la herencia permite
definir una nueva clase extendiendo una clase ya existente. Esta nueva clase, clase
derivada, posee todas las características de la clase más general y, además, la extiende
en algún sentido. Mediante la herencia, una clase derivada hereda los atributos y
métodos definidos por la clase base. De esta forma se evita volver a describir estos
atributos y operaciones, obteniéndose así una importante reutilización de código.
(págs. 55, 56)
Cohesión
Según (Nicolas Perez Juan Carlos, 2017) nos dice que es:
La medida que indica si una clase tiene una función bien definida dentro del sistema.
El objetivo es enfocar de la forma más precisa posible el propósito de la clase. Cuanto
más enfoquemos el propósito de la clase, mayor será su cohesión. Una prueba fácil de
cohesión consiste en examinar una clase y decidir si todo su contenido está
directamente relacionado con el nombre de la clase y descrito por el mismo.
Abstracción
(Juan José Zuñiga), en su documento (PROGRAMACION ORIENTADA A
OBJETOS, 2014), relata que la abstracción:
Es la capacidad de concentrar las propiedades y comportamientos necesarios para la
correcta representación del objeto dentro del sistema. La abstracción, permite que
dispongamos de las características de un objeto que necesitemos. Si necesitamos el
objeto Persona, podríamos poner nombre, edad, dirección, estado civil, etc. (pág. 8)
Polimorfismo
También (Juan José Zuñiga), en su documento (PROGRAMACION ORIENTADA A
OBJETOS, 2014), relata que el polimorfismo: “Se refiere a la posibilidad de definir clases
diferentes que tienen métodos o atributos denominados de forma idéntica, pero que se
comportan de manera distinta. Este concepto se puede aplicar tanto a funciones como a tipos
de datos”. (pág. 9)
Acoplamiento
Según (aine31, 2013) nos dice que el acoplamiento:
Es el nivel de dependencia que tiene una clase de los detalles de implementación de
otra. Así, cuanto más necesite saber una clase sobre cómo hace otra las cosas
internamente más acopladas estarán. Y un acoplamiento fuerte es peligroso ya que si
la clase A debe conocer el funcionamiento interno de la clase B y la clase B cambia, la
clase A probablemente deberá cambiar también. Los cambios tienden a propagarse
porque no se oculta cómo se hacen las cosas. La buena práctica es ocultar los detalles
de implementación (funcionamiento interno o cómo se hacen las cosas) para que un
cambio en una clase no exija un cambio en otra.
Encapsulamiento
Según (Nicolas Perez Juan Carlos, 2017) nos dice que:
El encapsulamiento consiste en permitir la visibilidad de atributos y/o métodos, en
una clase determinada, teniendo así tres niveles de: privados (private) que se utilizaran
solo en esa clase, protegidos (protected) que se utilizaran por todas los métodos,
clases y /o atributos mientras se encuentre en el mismo package, y los públicos
(public) que pueden ser usados por cualquier clase o método. La encapsulación es un
mecanismo que consiste en organizar datos y métodos de una estructura, conciliando
el modo en que el objeto se implementa, es decir, evitando el acceso a datos por
cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación
garantiza la integridad de los datos que contiene un objeto.
Según (Inter Blog, 2018), nos da a conocer las Ventajas y Desventajas sobre la
Programación Orientada a Objetos:

Ventajas y Desventajas
Algunas de las ventajas de la programación orientada a objetos son los siguientes:

 Los componentes se pueden reutilizar.


 Facilidad de mantenimiento y modificación de los objetos existentes.
 Una estructura modular clara se puede obtener, la cual no revelará el mecanismo
detrás del diseño.
 Se proporciona un buen marco que facilita la creación de rica interfaz gráfica
de usuario aplicaciones (GUI).
 Se acopla bien a la utilización de bases de datos, debido a la correspondencia
entre las estructuras.
Desventajas
 Limitaciones del programador: Es posible el programador desconozca algunas
características del paradigma y de hecho siga utilizando el paradigma
estructurado.
 No hay una forma única de resolver los problemas. Esto puede llevar a que
diferentes interpretaciones de la solución planteada emerjan.
 Se requiere una documentación amplia para determinar la solución planteada.

Diferencias entre la Programación Estructurada y la Programación


Orientada a Objetos

Según (Ricardo Madrigal, 2010), nos da a conocer las principales diferencias entre la
programación estructurada y la orientada a objetos, y éstas son:

 La programación orientada a objetos es más moderna, es una evolución de la


programación estructurada que plasma en el diseño de una familia de lenguajes
conceptos que existían previamente con algunos nuevos.
 La programación orientada a objetos se basa en lenguajes que soportan
sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus
operaciones (a esta unión se la suele llamar clase).
 La programación orientada a objetos incorpora en su entorno de ejecución
mecanismos tales como el polimorfismo y el envío de mensajes entre objetos.

Tabla Comparativa de POO y Paradigma de Programación Estructurada


Rivera, A. (2014). Tabla comparativa de poo y paradigma de programación estructurada. [Figura]. Recuperado
de https://image.slidesharecdn.com/tablacomparativadepooyparadigmadeprogramacinestructurada-
140515203617-phpapp02/95/tabla-comparativa-de-poo-y-paradigma-de-programacin-estructurada-1-
638.jpg?cb=1400186226

Conclusión
 La programación estructurada de programación consiste en construir programas de fácil
comprensión, se necesitan realizar correcciones o modificaciones después de haber
concluido un programa o aplicación
 La programación orientada a objetos se basa en lenguajes que soportan sintáctica y
semánticamente la unión entre los tipos abstractos de datos y sus operaciones (a esta unión
se la suele llamar clase) incorpora en su entorno de ejecución mecanismos tales como el
polimorfismo y el envío de mensajes entre objetos.

Recomendación
 La POO representa un gran avance en la programación, tal como lo fue la programación
estructurada en la década de los ’70 y entre sus ventajas más importantes se encuentran un
notable aumento de la productividad del programador y de la robustez de los programas.
 Investigar, aprender y poner en práctica, lo que vayamos investigando, para el
desenvolvimiento y desarrollo de nuestra lógica en la POO.
Bibliografía
aine31. (16 de 01 de 2013). wordpress.com. Obtenido de Acoplamiento, cohesión y
encapsulación | Mis apuntes de programación:
https://misapuntesdeprogramacion.wordpress.com/2013/01/16/acoplamiento-
cohesion-y-encapsulacion/
Inter Blog. (18 de 03 de 2018). Inter Blog. Obtenido de PROGRAMACIÓN ORIENTADA A
OBJETOS: https://www.lainter.edu.mx/blog/2018/03/18/programacion-orientada-a-
objetos/?fbclid=IwAR0X-
itk9Ghy2gJYs4_n9cyZis3j0HD_COgTGJE9YtuLdHEpx_2lbIY5Eyg
Juan José Zuñiga. (21 de 02 de 2014). PROGRAMACION ORIENTADA A OBJETOS.
Obtenido de PROGRAMACION ORIENTADA A OBJETOS:
https://prezi.com/1skmodemk0jw/programacion-orientada-a-objetos/
Nicolas Perez Juan Carlos. (05 de 01 de 2017). Mentoring IT - Detail Tutorial. Obtenido de
Programación orientada a objetos Encapsulamiento, Cohesión, Acoplamiento :
http://www.mentoringit.com.mx/tutoriales/java-basico/124/programacion-orientada-a-
objetos-encapsulamiento-cohesion-acoplamiento-.html
Ricardo Madrigal. (29 de 08 de 2010). ALEGSA.com.ar. Obtenido de Diferencia entre la
programación orientada a objetos y la estructurada:
http://www.alegsa.com.ar/Diccionario/C/12117.php
Roberto Rodriguez, Encarna Sosa, Álvaro Prieto. (2012). Programación Orientada a Objetos.
En E. S. Roberto Rodriguez, Programación Orientada a Objetos (pág. 8).
WIKIPEDIA. (22 de 03 de 2019). WIKIPEDIA. Obtenido de WIKIPEDIA.

Das könnte Ihnen auch gefallen