programacion orientada a obgetos Alumno: Hugo Geovanny Salazar Cabrera Grado y Grupo: 3-10

1.

Que es

pueden contener tanto datos como código. Estos objetos se utilizan para modelar y manipular datos complejos de una manera más organizada y modular.

se centra en la definición de clases y la creación de instancias de esas clases, lo que permite la reutilización de código y la creación de jerarquías de clases para una mejor organización

2.

ventajas

Reutilización de código:* Permite reutilizar clases y objetos ya creados en diferentes partes de un programa.

Modularidad:* Facilita la creación de módulos de software más fáciles de mantener y actualizar.

*Abstracción:* Permite representar conceptos del mundo real de manera más fiel, lo que facilita la comprensión y el diseño de sistemas complejos.

*Flexibilidad y escalabilidad:* Permite adaptar el código a medida que los requisitos del proyecto cambian y crecen.

Seguridad:* Permite la implementación de restricciones de acceso a datos, mejorando la seguridad y protegiendo la integridad de los datos

*Mantenimiento simplificado:* Las modificaciones en una parte del programa tienen menos impacto en otras partes, lo que facilita el mantenimiento y la depuración.

3.

desventajas

Curva de aprendizaje inicial:* Comprender los conceptos de POO puede requerir tiempo, especialmente para aquellos nuevos en el desarrollo de software.

Complejidad:* La POO puede llevar a sistemas complejos y a una jerarquía de clases que puede ser difícil de gestionar si no se planifica adecuadamente.

Velocidad de ejecución:* En algunos casos, la programación orientada a objetos puede ser más lenta en comparación con otros paradigmas de programación más eficientes en términos de rendimient

*Dificultad en la planificación inicial:* Se necesita una planificación cuidadosa de la jerarquía de clases y relaciones entre objetos, lo que puede ser complejo en proyectos grandes y complejos.

Consumo de recursos:* A veces, el uso excesivo de objetos puede consumir más memoria y afectar el rendimiento del programa.

*Overhead de abstracción:* La abstracción excesiva puede hacer que el código sea más difícil de entender y depurar, especialmente para programadores nuevos en el proyecto.

4.

Caracteristicas

*Abstracción:* Permite representar conceptos complejos del mundo real como objetos y clases, simplificando el desarrollo de software.

*Encapsulamiento:* Permite ocultar los detalles internos de un objeto y solo exponer las operaciones relevantes, lo que mejora la seguridad y la integridad de los datos.

*Herencia:* Permite que una clase herede propiedades y comportamientos de otra, lo que fomenta la reutilización del código y la creación de jerarquías de clases.

Polimorfismo:* Permite que objetos de diferentes clases respondan de manera distinta a la misma invocación de método, lo que promueve la flexibilidad y la extensibilidad del código.