Taller POO

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

FASE EJECUCION

Taller de conceptos y principios de programación orientada a objetos GA4-220501095-


AA2-EV01

PEDRO PADILLA PADILLA

Trabajo presentado como requisitos para obtener el título de


Tecnólogo en Análisis Desarrollo de software

MAICOL PEÑA
Doctora en Ingeniería De sistemas

SERVICIO NACIONAL DE APRENDIZAJE - SENA


PROGRAMA DE TECNOLOGIA ANALISIS Y DESARROLLO DE SOFTWARE
DE INFORMACION
2024
Contenido
Introducción ................................................................................................................................... 3
PROGRAMACIÓN ORIENTADA A OBJETO .......................................................................... 4
Bibliografía ..................................................................................................................................... 8
Introducción

Los algoritmos en programación se construyen a partir de elementos fundamentales


como los identificadores. Estos nombres simbólicos representan datos en la
memoria del ordenador y pueden ser de dos tipos principales: variables (cuyo valor
puede cambiar durante la ejecución) y constantes (cuyo valor permanece fijo).

La declaración de un identificador implica asignarle un tipo de dato específico (como


entero, cadena de texto o carácter), lo que determina el rango de valores que puede
almacenar y la cantidad de memoria reservada. Esta declaración es esencial para
que el compilador o intérprete comprenda cómo manipular el dato en cuestión.
PROGRAMACIÓN ORIENTADA A OBJETO

La programación orientada a objetos (POO) es un paradigma de programación que


estructura el diseño de software en torno a "objetos" que encapsulan datos
(atributos) y comportamiento (métodos). En lugar de centrarse en la lógica
procedimental, la POO permite modelar entidades del mundo real de manera más
intuitiva (Meyer, 1988).

Este enfoque resulta especialmente ventajoso para sistemas de gran envergadura


y complejidad, donde la evolución y el mantenimiento son constantes. Al organizar
el código en torno a objetos, se facilita la comprensión, el modularidad y la
colaboración entre equipos de desarrollo (Booch, 1994).

La reutilización del código es otro de los pilares de la POO. Al crear clases


abstractas y jerarquías de herencia, se promueve la creación de componentes
software reutilizables, lo que agiliza el desarrollo y reduce la probabilidad de errores
(Gamma, Helm, Johnson, & Vlissides, 1994).

Incluso en arquitecturas de microservicios, donde los servicios son relativamente


independientes, la aplicación de principios de POO al diseño interno de cada
servicio sigue siendo fundamental para garantizar su calidad, mantenibilidad y
escalabilidad (Richardson, 2018).

El primer paso en la POO es identificar los objetos que formarán parte de nuestra
aplicación. Estos objetos pueden representar tanto entidades tangibles (como
personas, productos o vehículos) como conceptos más abstractos (como una
cuenta bancaria o una transacción). Este proceso de identificación y relación entre
objetos se denomina modelado de objetos.

Una vez identificados los objetos, se definen sus características (atributos) y


comportamientos (métodos). Por ejemplo, un objeto "Persona" podría tener
atributos como "nombre", "edad" y "dirección", y métodos como "caminar", "hablar"
o "comer".
La clase es la plantilla que define las características comunes de un conjunto de
objetos. Es decir, una clase describe qué atributos y métodos compartirán todos los
objetos de ese tipo. Por ejemplo, la clase "Persona" definiría los atributos y métodos
que todas las personas en nuestra aplicación tendrían en común.

Los principios fundamentales de la POO son:

Encapsulación: Consiste en agrupar los datos (atributos) y los métodos


(comportamientos) de un objeto en una única unidad, ocultando la implementación
interna y exponiendo solo una interfaz bien definida. Esto permite proteger los datos
y simplificar el uso del objeto.

Abstracción: Se refiere a la capacidad de enfocarse en las características esenciales


de un objeto, ignorando los detalles de implementación. Por ejemplo, cuando
utilizamos un coche, nos interesa saber cómo conducirlo, pero no necesitamos
conocer los detalles de su motor.

Herencia: Permite crear nuevas clases (subclases) a partir de clases existentes


(superclases), heredando sus atributos y métodos. Esto fomenta la reutilización de
código y la creación de jerarquías de clases.

Polimorfismo: Significa que objetos de diferentes clases pueden responder de


manera diferente al mismo mensaje. Esto permite un mayor grado de flexibilidad y
adaptabilidad en los programas.

La POO ofrece numerosos beneficios:

Reutilización de código: Al crear clases base y heredar de ellas, se pueden reutilizar


grandes porciones de código.

Modularidad: Los programas se dividen en módulos más pequeños y fáciles de


gestionar.

Mantenimiento: Los cambios en el código son más fáciles de realizar y tienen un


menor impacto en otras partes del programa.

Flexibilidad: La POO permite crear sistemas más flexibles y adaptables a los


cambios.
Breve descripción de cada lenguaje y sus características destacadas:

Java: Conocido por su portabilidad ("escribe una vez, ejecuta en cualquier lugar"),
es ampliamente utilizado en el desarrollo de aplicaciones empresariales, Android y
sistemas embebidos.

JavaScript: Esencial para el desarrollo web del lado del cliente, pero también se
utiliza en el lado del servidor con Node.js. Es flexible y dinámico, con una gran
comunidad y una amplia gama de frameworks.

Python: Un lenguaje de propósito general, conocido por su sintaxis sencilla y legible.


Se utiliza en ciencia de datos, aprendizaje automático, desarrollo web y muchas
otras áreas.

C++: Un lenguaje de bajo nivel con alto rendimiento, utilizado en el desarrollo de


juegos, sistemas operativos y aplicaciones que requieren un gran control sobre el
hardware.

Visual Basic .NET: Desarrollado por Microsoft, es ampliamente utilizado para crear
aplicaciones de escritorio Windows. Ofrece una interfaz visual para el desarrollo de
aplicaciones.

Ruby: Un lenguaje de programación dinámico y orientado a objetos, conocido por


su sintaxis elegante y su enfoque en la productividad del desarrollador. Ruby on
Rails es un popular framework web construido sobre Ruby.

Scala: Un lenguaje de programación escalable y conciso, que combina


características de programación funcional y orientada a objetos. Se utiliza en el
desarrollo de grandes sistemas distribuidos y aplicaciones de big data.

PHP: Originalmente diseñado para el desarrollo web, PHP es uno de los lenguajes
más utilizados para crear sitios web dinámicos.

Las Clases: Plantillas de Objetos

En la programación orientada a objetos (POO), las clases son como moldes o


plantillas que definen las características y comportamientos de un conjunto de
objetos. Imagina una clase como un plano arquitectónico: describe cómo se
construirá un edificio, pero no es el edificio en sí.
Atributos: Son las características o propiedades que identifican a un objeto. Por
ejemplo, en una clase "Coche", los atributos podrían ser: marca, modelo, color, año
de fabricación, número de puertas, etc.

Métodos: Son las acciones o operaciones que un objeto puede realizar. Siguiendo
el ejemplo del coche, los métodos podrían ser: acelerar, frenar, girar, abrir puertas,
etc.

Los objetos son las unidades fundamentales de la POO. Cada objeto representa
una entidad del mundo real o un concepto abstracto. Los objetos tienen un estado
(datos) y un comportamiento (métodos). Las clases proporcionan una plantilla para
crear objetos.
Bibliografía

Booch, G. (1994). Object-oriented analysis and design with applications. Benjamin


Cummings.

Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design patterns: Elements
of reusable object-oriented software. Addison-Wesley Professional.

Meyer, B. (1988). Object-oriented software construction. Prentice-Hall, Inc.


Richardson, C. (2018). Microservices patterns. Manning Publications.

También podría gustarte