programacion orientada a obgetos Alumno: Hugo Geovanny Salazar Cabrera Grado y Grupo: 3-10
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
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.
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.
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.