Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Evidencia 4 - Taller de Conceptos y Principios de Programación Orientada A Objetos
Evidencia 4 - Taller de Conceptos y Principios de Programación Orientada A Objetos
ORIENTADA A OBJETOS
PRESENTADO POR:
FASE DE PLANEACIÓN
BOGOTÁ, D.C.
MAYO DE 2024
Evidencia
Taller de Conceptos y Principios de Programación Orientada a Objetos
Introducción
Si nos paramos a observar el mundo que nos rodea, podemos apreciar que casi todo está formado por objetos.
Existen coches, edificios, sillas, mesas, semáforos, ascensores e incluso personas o animales. Todos ellos
pueden ser considerados objetos, con una serie de características y comportamientos. Por ejemplo, existen
coches de diferentes marcas, colores, etc. y pueden acelerar, frenar, girar, etc., o las personas tenemos
diferente color de pelo, ojos, altura y peso y podemos nacer, crecer, comer, dormir, etc.
Los programas son el resultado de la búsqueda y obtención de una solución para un problema del mundo real.
Pero ¿en qué medida los programas están organizados de la misma manera que el problema que tratan de
solucionar? La respuesta es que muchas veces los programas se ajustan más a los términos del sistema en el
que se ejecutarán que a los del propio problema. Si redactamos los programas utilizando los mismos términos
de nuestro mundo real, es decir, utilizando objetos, y no los términos del sistema o computadora donde se vaya
a ejecutar, conseguiremos que éstos sean más legibles y, por tanto, más fáciles de modificar. Esto es
precisamente lo que pretende la programación orientada a objetos, establecer una serie de técnicas que
permitan trasladar los problemas del mundo real a nuestro sistema informático.
En el presente documento se pretende desarrollar un taller que tiene como objetivo principal la apropiación de
los conceptos fundamentales, principios y características de este modelo de programación.
Glosario
• Abstracción: Consiste en representar una entidad compleja mediante sus características más
relevantes y ocultando los detalles innecesarios. Es como si creáramos una versión simplificada de
algo, manteniendo solo lo que necesitamos para interactuar con él.
• Atributo: Es una característica o propiedad que se asigna a un objeto, variable o elemento de código.
Se utilizan para describir y definir las características de un elemento en particular y pueden tomar
diferentes formas dependiendo del lenguaje de programación que estés utilizando.
• Clase: Es una plantilla o modelo para crear objetos. Una clase define un conjunto de atributos (datos)
y métodos (comportamientos) que los objetos pueden tener.
• Constructor: Es una función especial dentro de una clase que se utiliza para crear objetos y
establecer sus propiedades iniciales. El constructor se llama automáticamente cuando se crea un
nuevo objeto a partir de una clase y permite la inicialización de variables y la ejecución de código
necesario para configurar el objeto correctamente.
• Evento: Es una acción que se desencadena como resultado de una interacción entre un objeto y el
usuario o el sistema. Un evento es una respuesta a una acción.
• Método: Es una función que se define dentro de una clase y se utiliza para representar el
comportamiento de un objeto. Se utilizan para realizar tareas específicas en un objeto, como cambiar
el estado de un objeto, calcular un valor, interactuar con otros objetos, etc.
• Objeto: Es una instancia de una clase. Una clase define la estructura y el comportamiento de un
objeto, mientras que el objeto es una instancia concreta de esa clase con un estado y un
comportamiento específico.
• Polimorfismo: Es una técnica que permite que los objetos de diferentes clases respondan a un
mismo mensaje de diferentes maneras. Esto significa que el mismo método puede tener diferentes
comportamientos según la clase del objeto que lo recibe.
• Herencia: La herencia es otra característica importante de la POO. Se utiliza para definir una clase a
partir de otra existente, con el fin de heredar sus propiedades y métodos. Esto permite reutilizar el
código y simplificar la estructura del programa.
• Polimorfismo: El polimorfismo es una característica de la POO que permite que un objeto adopte
diferentes formas, es decir, para responder de diferentes maneras según el contexto en el que se le
llame. Esto permite crear una jerarquía de clases relacionadas que se comportan de manera diferente
pero que comparten una interfaz común.
• Abstracción: La abstracción es una técnica que se utiliza en la POO para representar un concepto o
una idea de manera abstracta. Esto permite simplificar la complejidad del mundo real y crear modelos
más simples y fáciles de entender.
• Clases y objetos: La POO se basa en la creación de clases y objetos. Las clases son plantillas que se
utilizan para crear objetos, que son instancias de una clase. Los objetos tienen propiedades y métodos
que se definen en la clase.
• Flexibilidad: La POO es muy flexible y permite que los desarrolladores trabajen en equipos grandes y
complejos, sin afectar la funcionalidad de otras partes del software.
En resumen, la programación orientada a objetos es una técnica de programación que se basa en la creación
de objetos y en la interacción entre ellos. Utiliza una serie de conceptos y técnicas para simplificar la
complejidad del software y mejorar su mantenimiento y escalabilidad. La POO es una herramienta poderosa
para el desarrollo de software y es ampliamente utilizada en la industria hoy en día.
Conclusión
Podemos decir que los lenguajes de programación orientados a objetos tratan a los programas como conjuntos
de objetos que se ayudan entre ellos para realizar acciones, entendiendo como objeto a las entidades que
contienen datos y permitiendo que los programas sean más fáciles de escribir, mantener y reutilizar.
Por otra parte, la programación orientada a objetos representa un gran avance en la programación y es
actualmente el método que más se utiliza para desarrollar aplicaciones y programas, entre sus ventajas más
importantes se encuentran un notable aumento de la productividad del programador y de la robustez de los
programas, principalmente cuando se necesita resolver desafíos complejos de programación. Además, permite
una mejor estructura de datos y reutilización del código, lo que facilita el ahorro de tiempo a largo plazo.