Mind map
Programación Orientada a Objetos

Map content
Programación Orientada a Objetos
Clases
- CLASSPATH y Paquetes
- El CLASSPATH se utiliza para localizar clases externas al programa.
- El uso de paquetes evita conflictos y proporciona acceso privilegiado a las clases dentro del mismo paquete.
- Organización y Relación de Clases:
- Los paquetes permiten organizar y relacionar clases en grupos coherentes.
- Las clases de un mismo paquete están interrelacionadas.
- Acceso a Variables Internas
- El acceso a las variables internas de una clase debe hacerse a través de métodos getters y setters.
- Datos, Propiedades y Atributos:
- Datos, propiedades y atributos son términos sinónimos que se refieren a las variables de una clase.
- Acoplamiento mínimo:
- Las clases deben interactuar de manera limitada y solo cuando sea estrictamente necesario. Esto se logra evitando dependencias innecesarias entre clases y reduciendo la comunicación directa entre ellas.
- Cohesión alta:
- Cada clase debe tener una responsabilidad bien definida y relacionarse internamente de manera coherente. Cada clase debe hacer una cosa y hacerla bien, sin involucrarse en tareas que no le corresponden.
- Niveles de acceso:
- Public (acceso público):
- Puede ser accedido desde cualquier clase o subclase que lo necesite.
- Forma parte de la interfaz pública de una clase.
- Protected (acceso protegido):
- Similar al acceso privado, pero accesible por subclases y clases del mismo paquete.
- Considerado público para subclases y clases del mismo paquete.
- Private (acceso privado):
- Solo accesible desde los métodos internos de su propia clase.
- Restringido a otros accesos desde fuera de la clase.
- No especificado (acceso en su paquete):
- Accesible por clases pertenecientes al mismo paquete.
- No disponible fuera del paquete a menos que se especifique como público.
- Public (acceso público):
- CLASSPATH y Paquetes
Metodología de la programación
- Vinculación Tardía (Tiempo de Ejecución):
- Resolución de llamadas a métodos o funciones durante la ejecución del programa.
- Sobrecarga de Métodos
- Permite modificar el comportamiento de la clase principal (superclase) mediante la conservación de la misma lista de argumentos y otros requisitos.
- Abstracción
- Captura características esenciales de objetos y sus comportamientos para modelar entidades del mundo real de manera abstracta.
- Encapsulamiento
- Agrupa elementos relacionados en una entidad y protege el acceso a sus propiedades, mejorando la cohesión y control del sistema.
- Principio de Ocultación
- Aísla objetos del exterior, exponiendo una interfaz para interactuar y protegiendo su estado interno.
- Polimorfismo
- Permite crear múltiples formas del mismo método para ofrecer diferentes comportamientos.
- Se logra en Java mediante clases abstractas e interfaces.
- Herencia
- Organiza clases en una jerarquía para que objetos hereden propiedades y comportamientos de clases preexistentes.
- Recolección de Basura
- Automatiza la liberación de memoria de objetos sin referencias, simplificando la gestión de la memoria.
- Vinculación Temprana (Tiempo de Compilación)
- Resolución de llamadas a métodos y propiedades durante la compilación.
- Determina qué método o propiedad se usará antes de la ejecución.
- Vinculación Tardía (Tiempo de Ejecución):
Ventajas
- Facilidad de Testeo y Reprogramación
- Permite realizar ajustes y mejoras en objetos específicos de manera eficiente.
- Facilita la sustitución de objetos problemáticos sin necesidad de reescribir todo el código de la aplicación.
- Reutilización de Código
- Posibilita la utilización de clases y objetos de terceras personas sin conocer los detalles internos de implementación, lo que fomenta la reutilización de componentes.
- Ocultación de Información
- Oculta los detalles de implementación, enfocándose en la interfaz.
- Mejora la seguridad y facilita el mantenimiento del código.
- Modularidad
- Favorece la separación y organización de componentes de manera independiente.
- Permite mantener y reescribir el código fuente de un objeto sin afectar el código de otros objetos en la aplicación.
- Facilidad de Testeo y Reprogramación
Lenguajes de POO más habituales en el mercado
- VB.NET
- Evolución de Visual Basic en el framework .NET.
- Microsoft Visual Studio es la herramienta común para desarrollar en VB.NET.
- Microsoft Visual Studio es la herramienta común para desarrollar en VB.NET.
- Python
- Diseñado por Guido van Rossum, es multiplataforma e interpretado.
- Administrado por la Python Software Foundation bajo licencia de código abierto.
- PHP
- Lenguaje multiparadigma con orientación a objetos.
- Utilizado en el lado del servidor para generar páginas HTML.
- Ampliamente usado en sistemas web, CMS y blogs.
- Java
- Desarrollado por James Gosling de Sun, es multiplataforma y versátil.
- Utilizado en dispositivos móviles, sistemas empotrados, aplicaciones de servidor, aplicaciones de escritorio y más.
- C++
- Diseñado por Bjarne Stroustrup, es un lenguaje multiparadigma.
- Permite la manipulación de objetos y es considerado híbrido.
- Objective-C
- Influenciado por Smalltalk, es un lenguaje orientado a objetos.
- Ampliamente utilizado en el entorno de desarrollo de Apple, especialmente con Xcode.
- VB.NET
Conceptos Adicionales
- Interpretes vs. Compiladores
- Los compiladores traducen todo el código fuente a un lenguaje de máquina antes de la ejecución.
- Los intérpretes leen y ejecutan el código fuente línea por línea, lo que facilita la depuración y corrección de errores.
- Organización en Clases
- Los programas en POO se estructuran en clases que contienen datos y operaciones (métodos).
- Los objetos son instancias de clases que interactúan entre sí al pasar mensajes
- Máquina Virtual
- Una máquina virtual es una entidad ficticia que traduce instrucciones ficticias a instrucciones para la máquina real.
- Permite ejecutar programas en diferentes tipos de hardware al instalar la máquina virtual correspondiente.
- Definición de Programa
- Un programa consiste en una secuencia de órdenes o instrucciones organizadas con un propósito específico para llevar a cabo una función determinada.
- Interpretes vs. Compiladores
Concepto
- POO es un paradigma de programación que se basa en el uso de objetos y su comportamiento para resolver problemas y crear aplicaciones informáticas.
- Características
- Nuevo Enfoque de Pensamiento
- Los analistas y programadores adoptan una perspectiva centrada en objetos, atributos y métodos para diseñar programas.
- Abstracción de la Vida Real
- La POO se asemeja más a cómo expresamos y entendemos conceptos en la vida cotidiana.
- Evolución de la Programación Estructurada
- Es una evolución de la programación clásica o estructurada hacia un enfoque más orientado a objetos.
- Utilización de Técnicas Nuevas
- Introduce conceptos como polimorfismo, encapsulamiento, herencia y más para resolver problemas de manera eficiente.
- Aumento de la Modularidad y Reutilización
- Permite dividir programas en módulos independientes (clases) y fomenta la reutilización de código.
- Encapsulamiento
- Oculta la implementación interna de un objeto y expone solo una interfaz pública.
- Herencia
- Permite que las clases hereden propiedades y comportamientos de otras clases, fomentando la reutilización.
- Polimorfismo
- Ofrece la capacidad de crear múltiples implementaciones de un mismo método, mejorando la flexibilidad.
- Nuevo Enfoque de Pensamiento
Objetos
- Los objetos tienen atributos y métodos asociados.
- Son instancias de clases y se utilizan para diseñar aplicaciones y programas.
- Aspectos
- Identificación de Objetos
- Cada objeto pertenece a una clase, por ejemplo, un loro llamado Felipe pertenece a la clase "Pájaro".
- Los objetos se identifican por sus atributos, como nombre, color, edad y otros.
- Mensajes y Comunicación
- Los programas OO están compuestos por objetos que se comunican entre sí mediante el envío de mensajes.
- Cuando un objeto recibe un mensaje, ejecuta el método asociado.
- Comportamiento y Métodos
- El comportamiento de un objeto se define mediante los métodos que realiza.
- Los métodos pueden ejecutar acciones específicas dependiendo de la clase del objeto.
- Estado y Atributos
- El estado de un objeto se refleja en los valores de sus atributos.
- Los atributos pueden incluir información como nombre, color, edad, etc.
- Identidad Única
- Cada objeto es único y diferente de otros objetos, incluso si comparten atributos similares.
- La identidad de un objeto es única.
- Métodos y Parámetros
- Los métodos son procedimientos que ejecuta un objeto al recibir un mensaje.
- Pueden tomar parámetros, que pueden ser de tipos básicos o incluso otros objetos.
- Algunos métodos pueden devolver valores.
- Métodos Estáticos y Dinámicos
- Los métodos estáticos no requieren una instancia de clase y se llaman directamente.
- Los métodos dinámicos permiten reducir el tiempo de ejecución de algoritmos mediante subproblemas superpuestos.
- Métodos Especiales
- Constructor: Inicializa un objeto cuando se crea una instancia de clase.
- Destructor: Realiza una limpieza final, pero en Java no existen como en C++.
- Atributos y Métodos
- Los objetos tienen atributos y métodos asociados que definen su comportamiento.
- Los objetos son instancias de clases y se comunican mediante estos atributos y métodos.
- Fases de Diseño
- El diseño de objetos comienza después de la fase de análisis y se traduce en la programación.
- Los objetos modelan estados y comportamientos.
- Programación en Java
- En la programación en Java, se modelan estados y comportamientos en clases y objetos.
- Identificación de Objetos
Images and files in the map
Information
- Description
- Mind Map on Programación Orientada a Objetos, created by Karen Jaimes on 06/09/2023.
- Created by
- Karen Jaimes
- Views
- 2
- Rating





























