Conceptos de Programación Orientada a Objetos

Trabajo de portafolio lenguaje programación GR60

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Conceptos de Programación Orientada a Objetos por Mind Map: Conceptos de Programación Orientada a Objetos

1. Static

1.1. Static es una palabra clave que se usa para definir el miembro de la clase que se puede usar independientemente de cualquier objeto de la clase

1.1.1. Concepto de miembros estáticos

1.1.1.1. Los miembros estáticos pertenecen a la clase en su conjunto en lugar de pertenecer a instancias individuales. Son compartidos por todas las instancias de la clase.

1.1.2. Uso de variables estáticas

1.1.2.1. Las variables estáticas conservan su valor a lo largo de todas las instancias de la clase y se pueden acceder sin necesidad de crear una instancia de la clase.

1.1.3. Métodos estáticos y su relación con la clase

1.1.3.1. Los métodos estáticos se llaman en la clase en lugar de en instancias individuales. Se utilizan para realizar operaciones que no dependen de ninguna instancia en particular, sino que están relacionadas con la clase en su conjunto.

2. Herencia

2.1. La herencia en programación orientada a objetos permite organizar los objetos en una jerarquía desde lo más general hasta lo más específico. Permite extender una clase en otra clase y reutilizar el código para generar una jerarquía de clases dentro de una aplicación.

2.1.1. beneficios de la herencia

2.1.1.1. Reutilización de código, extensibilidad, modularidad y polimorfismo.

2.1.2. Clases base y clases derivadas

2.1.2.1. La clase base es la clase original de la cual se heredan características y comportamientos, y la clase derivada es la clase que hereda estas características y puede agregar o modificar su propio comportamiento.

2.1.3. Ejemplos de jerarquía de clases

2.1.3.1. uede haber una clase base "Animal" y clases derivadas como "Perro" y "Gato". O una clase base "Vehículo" y clases derivadas como "Coche" y "Motocicleta". Estas clases forman una jerarquía en la cual las clases derivadas heredan atributos y comportamientos de la clase base.

3. Final

3.1. se usa para declarar una variable constante que no se puede anular y una clase que no se puede heredar

3.1.1. Finalización de clases, métodos y variables

3.1.1.1. Al marcar una clase como final, no se puede heredar de ella. Al marcar un método como final, no se puede sobre-escribir en las clases hijas. Al marcar una variable como final, su valor no puede ser modificado una vez asignado.

3.1.2. Impacto en la herencia y la redefinición de métodos

3.1.2.1. El uso de "final" limita la posibilidad de heredar una clase o modificar su comportamiento a través de la redefinición de métodos. Ayuda a mantener la integridad de la implementación original y evitar cambios no deseados en clases derivadas.

4. Redefinición de métodos

4.1. La redefinición de métodos ocurre cuando una clase redefine uno de los métodos heredados de su superclase. El nuevo método reemplaza al heredado para todos los objetos de la clase que lo ha redefinido, modificando su comportamiento respecto a los objetos de la superclase.

4.1.1. Ejemplos de redefinición de métodos en herencia

4.1.1.1. En una jerarquía "Animal"-"Perro", la clase "Perro" puede redefinir el método "imprimir" para mostrar información específica como la raza y el nombre.

5. Interfaces

5.1. Una interfaz es un medio común para que los objetos no relacionados se comuniquen entre sí. Estas son definiciones de métodos y valores sobre los cuales los objetos están de acuerdo para cooperar.

5.1.1. Implementación de interfaces en clases

5.1.1.1. Las interfaces definen un conjunto de métodos que una clase debe implementar. Las clases pueden implementar múltiples interfaces para proporcionar diferentes comportamientos.

5.1.2. Ventajas de utilizar interfaces en la programación orientada a objetos

5.1.2.1. Las interfaces promueven la modularidad y el desacoplamiento, permitiendo una mayor flexibilidad en el diseño y la reutilización del código. Las interfaces también facilitan el uso de la herencia múltiple al definir comportamientos específicos sin heredar de una clase base.

6. Modularidad

6.1. La modularidad en programación permite dividir una aplicación en partes más pequeñas llamadas módulos. Cada módulo es independiente y se comunica con otros módulos a través de entradas y salidas bien definidas.

6.1.1. Beneficios

6.1.1.1. Facilita comprensión y mantenimiento del código, reutilización de módulos.

6.1.2. Ejemplos

6.1.2.1. Funciones, clases, bibliotecas, paquetes de software.

6.1.3. Relación entre módulos y reutilización de código

6.1.3.1. Permite usar módulos en diferentes partes del programa o proyectos.

7. Modificadores de acceso

7.1. Los modificadores de acceso son palabras clave en la programación orientada a objetos (POO) que determinan la visibilidad y accesibilidad de las clases, propiedades y métodos.

7.1.1. Public, private y protected

7.1.1.1. Determinan el alcance de acceso a los miembros de una clase.

7.1.2. Restricciones de acceso a miembros de clase

7.1.2.1. Public permite acceso desde cualquier parte, private restringe acceso fuera de la clase, protected permite acceso en clases derivadas

7.1.3. Influencia en la encapsulación y la seguridad del código

7.1.3.1. Ayudan a encapsular y ocultar detalles internos de la clase, mejorando la seguridad y manteniendo la integridad del código.

8. Métodos de clase

8.1. Los métodos de clase son funciones que definen el comportamiento o funcionalidad de los objetos de la clase.

8.1.1. Métodos

8.1.1.1. Un método consiste generalmente de una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción o, posiblemente, un valor de salida de algún tipo

8.1.2. Uso de métodos de clase

8.1.2.1. Se utilizan para realizar operaciones que pertenecen a la clase en su conjunto, en lugar de operaciones específicas de una instancia.

8.1.3. Diferencia entre métodos de clase y métodos de instancia

8.1.3.1. Los métodos de clase se llaman en la clase misma, mientras que los métodos de instancia se llaman en objetos individuales de la clase.

8.1.4. Ejemplos de métodos de clase en la práctica

8.1.4.1. Ejemplos de métodos de clase: Métodos estáticos para cálculos matemáticos, métodos de utilidad para manipulación de archivos, métodos para generar IDs únicos, etc.

9. Jerarquia de clases

9.1. La jerarquía de clases, también llamada taxonomía de clases, es un grupo de clases relacionadas que están conectadas por herencia para hacer cosas similares. En POO, las abstracciones pueden ordenarse y clasificarse en una jerarquía

9.1.1. Relación entre clases base y clases derivadas

9.1.1.1. Las clases derivadas heredan de la clase base y pueden agregar o modificar atributos y métodos.

9.1.2. Herencia múltiple vs. herencia simple

9.1.2.1. La herencia múltiple permite heredar de varias clases base, mientras que la herencia simple solo permite heredar de una sola clase base.

9.1.3. Construcción de una jerarquía de clases en un programa

9.1.3.1. Identificar características comunes en una clase base y crear clases derivadas para agregar funcionalidades específicas, manteniendo una estructura coherente y fomentando la reutilización de código.

10. Clases abstractas

10.1. Las clases abstractas son una característica importante de la programación orientada a objetos. Una clase abstracta es una clase que no se puede instanciar directamente y se utiliza como base para otras clases. No representan algo específico y las podemos usar para crear otras clases

10.1.1. Uso de métodos abstractos en clases abstractas

10.1.1.1. Las clases abstractas pueden contener métodos abstractos, que solo se definen en la clase abstracta y se implementan en las clases derivadas.

10.1.2. Ejemplos de casos de uso de clases abstractas

10.1.2.1. Una clase abstracta "Vehículo" con el método abstracto "acelerar" puede ser extendida por clases derivadas como "Coche" y "Moto", implementando su propia lógica de aceleración.