Please enable JavaScript.
Coggle requires JavaScript to display documents.
Conceptos clave de la POO. - Coggle Diagram
Conceptos clave de la POO.
Se trata de una técnica que nos permite simplificar y organizar nuestro código de manera eficiente, lo cual resulta crucial a medida que nuestros proyectos crecen en tamaño y complejidad.
CaRacteristicas:
Características específicas de un objeto: Estas características distinguen un objeto de otros tipos de objetos y definen límites conceptuales respecto a quién está haciendo la abstracción del objeto.
Visión externa de un objeto: La abstracción se enfoca en la visión externa de un objeto, separando su comportamiento específico. Esto se logra aplicando el principio de mínimo compromiso, que implica que la interfaz de un objeto muestre solo su comportamiento específico y nada más.
Interfaz de objeto: Permite especificar qué métodos serán implementados por una clase sin necesidad de definir qué harán estos métodos. Estos métodos deben ser públicos.
Principio de mínima sorpresa: Una abstracción obtiene el comportamiento completo de algún objeto y no ofrece sorpresas o efectos laterales más allá del ámbito de la abstracción.
El encapsulamiento: es el proceso de almacenar en una misma sección los elementos de una abstracción que constituyen su estructura y su comportamiento.
Sirve para separar el interfaz contractual de una abstracción y su implantación
Niveles de acceso:
Público (Public): Todos pueden acceder a los datos o métodos de una clase definidos con este nivel. Es lo que deseamos que la parte externa vea.
Protegido (Protected): Estos no son de acceso público; solo son accesibles dentro de su clase y por subclases.
Privado (Private): En este nivel, los miembros son accesibles solo para la propia clase.
La herencia es el mecanismo mediante el cual una clase hija puede heredar las características (atributos y métodos) de una clase padre.
Permite definir nuevas clases basadas en clases existentes, creando así una jerarquía de clases dentro de una aplicación.
Tecnología clave:
Superclase: La clase cuyas características se heredan se llama superclase o clase base. Es la clase principal de la que se deriva.
Subclase: La clase que hereda de otra se llama subclase o clase derivada. Es una versión especializada de la superclase.
Reutilización: La herencia respalda el concepto de reutilización. Si ya existe una clase con parte del código que necesitamos, podemos derivar una nueva clase de ella y reutilizar sus campos y métodos.
El polimorfismo se refiere a la capacidad de un objeto de cambiar su comportamiento en función del contexto en el que se encuentra.
En otras palabras, un objeto puede tener múltiples formas o comportamientos diferentes.
Beneficios:
Reutilización de código: Podemos usar una interfaz común para tratar diferentes objetos.
Extensibilidad: Fácilmente podemos agregar nuevas subclases sin afectar el código existente.
Mantenibilidad: Cambios en una subclase no afectan a otras partes del programa.
La modularidad: es un concepto fundamental que nos permite dividir un programa en módulos independientes y reutilizables. Estos módulos, también conocidos como clases, encapsulan tanto los datos como los métodos relacionados en una entidad coherente.
Beneficios:
Facilita el mantenimiento y la evolución: Al dividir un programa en módulos independientes, los cambios realizados en un módulo no afectarán a otros. Esto permite una mayor flexibilidad y escalabilidad del sistema.
Promueve la reutilización de código: Al crear módulos bien encapsulados, se pueden utilizar en diferentes programas o proyectos sin necesidad de reescribir el código. Esto ahorra tiempo y mejora la calidad del software.