Please enable JavaScript.
Coggle requires JavaScript to display documents.
Programación Orientada a Objetos (POO) - Coggle Diagram
Programación Orientada a Objetos (POO)
Abstracción:
Definición: proceso de identificar y extraer las características esenciales de un objeto, ignorando los detalles irrelevantes.
Beneficios:
Simplifica la complejidad del programa.
Permite enfocarse en lo que es importante.
Facilita la reutilización de código.
Ejemplo: definir una clase Persona con atributos como nombre, edad y género, sin especificar detalles de implementación.
Encapsulamiento/Encapsulación:
Definición: ocultar los detalles internos de un objeto y solo exponer una interfaz pública para interactuar con él.
Beneficios:
Protege la integridad del objeto.
Facilita el mantenimiento del código.
Permite la evolución del objeto sin afectar a otros objetos.
Ejemplo: la clase Persona puede tener métodos privados para calcular la edad o el nombre completo, que no son accesibles desde el exterior.
Polimorfismo:
Definición: capacidad de que un objeto se comporte de diferentes maneras dependiendo del contexto.
Beneficios:
Hace que el código sea más flexible y adaptable.
Facilita la escritura de código genérico.
Permite la reutilización de código.
Ejemplo: la clase Persona puede tener un método hablar() que se implementa de forma diferente para cada tipo de persona (estudiante, profesor, etc.).
Herencia:
Definición: mecanismo que permite a una clase heredar atributos y métodos de otra clase.
Beneficios:
Facilita la reutilización de código.
Permite crear jerarquías de clases.
Promueve el polimorfismo.
Ejemplo: una clase Estudiante puede heredar de la clase Persona atributos como nombre y edad, y agregar atributos específicos como curso y matrícula.
Modularidad:
Definición: dividir el programa en módulos independientes y autocontenidos.
Beneficios:
Facilita la comprensión del código.
Permite el desarrollo y mantenimiento del código por partes.
Mejora la reutilización de código.
Ejemplo: el programa puede tener módulos separados para la interfaz de usuario, la lógica de negocio y el acceso a datos.