Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Programación Orientada a Objetos en C++ y C, Monografías, Ensayos de Programación Orientada a Objetos

Una introducción a la programación orientada a objetos (poo) en los lenguajes de programación c++ y c. Se explica el concepto de clases y objetos, así como sus principales características como la encapsulación, la abstracción, la herencia y el polimorfismo. Además, se analizan las diferencias entre c y c++ en cuanto a la poo y se discuten estrategias para mantener la calidad del código.

Tipo: Monografías, Ensayos

2023/2024

Subido el 16/04/2024

reinaldo-70
reinaldo-70 🇻🇪

1 documento

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA DEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA
DE LA FUERZA ARMADA NACIONAL BOLIVARIANA
NÚCLEO MÉRIDA.
Programación orientada a objetos
Nombre: Reinaldo Pérez Villarreal
C.I: 30.189.319
Asignatura: programación orientada a objetos
Docente: JoVelásque
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Programación Orientada a Objetos en C++ y C y más Monografías, Ensayos en PDF de Programación Orientada a Objetos solo en Docsity!

REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA DE LA FUERZA ARMADA NACIONAL BOLIVARIANA NÚCLEO MÉRIDA.

Programación orientada a objetos

Nombre: Reinaldo Pérez Villarreal C.I: 30.189. Asignatura: programación orientada a objetos Docente: José Velásque

Introducción

La Programación Orientada a Objetos (POO) es un paradigma de programación que se basa en el concepto de "objetos" y sus interacciones para resolver problemas. En este enfoque, los programas se diseñan y estructuran en torno a objetos, que son instancias de clases con atributos y comportamientos específicos La POO se utiliza ampliamente en lenguajes de programación como C++ y C. Estos lenguajes admiten la programación orientada a objetos al proporcionar características como la definición de clases, la creación de objetos, la herencia, el encapsulamiento y el polimorfismo De la misma manera, los programas se dividen en clases, que son plantillas o moldes que definen las propiedades y comportamientos de los objetos. Los objetos son instancias de estas clases y pueden interactuar entre sí a través de métodos y mensajes. La herencia permite crear nuevas clases basadas en clases existentes, lo que facilita la reutilización de código. El encapsulamiento permite ocultar los detalles internos de una clase y proporcionar una interfaz para interactuar con ella. El polimorfismo permite que objetos de diferentes clases respondan de manera diferente a los mismos mensajes. La programación orientada a objetos ofrece una serie de ventajas, como el modularidad, la reutilización de código y la facilidad de mantenimiento. Al dividir el programa en objetos independientes, se puede abordar cada uno de ellos de forma individual, lo que facilita la identificación y solución de problemas. Además, la programación orientada a objetos promueve un diseño más estructurado y legible del código, lo que facilita su comprensión y colaboración en equipos de desarrollo En resumen, la programación orientada a objetos es un enfoque de programación que se basa en el uso de objetos y clases para resolver problemas. Los lenguajes de programación como C++ y C admiten este paradigma y ofrecen características específicas para su implementación

Distinción entre clase y objeto

La distinción entre clase y objeto es una de las claves de este tipo de programación que la hace única. No en vano, si no entendemos esta parte, no sabemos cómo funciona este tipo de programación. En primer lugar, la clase se referirá a la matriz genérica, a la cual se aplicarán determinadas categorías para que puedas afinar. Hecho esto, nos referiremos a los objetos, que suponen la concreción de esa matriz. Por ejemplo, el concepto "animal" sería una clase, mientras que "gato" es un objeto. Esto permite aportar orden, lo que siempre es de agradecer, gracias a la capacidad de abstracción. La idea principal es que, a partir de la clase, se crean instancias de un objeto. En consecuencia, es una metodología muy útil para programar con una cantidad de datos ingente a la que dar forma.

Reutiliza el código y evita su duplicación

La duplicación del código es uno de los problemas recurrentes, sobre todo por la pérdida de tiempo que implica. La POO introduce una novedad interesante al respecto. Hay que destacar que el principio de herencia hace que exista jerarquización entre las clases que utilizamos. Y el resultado práctico de eso es que se reducen exponencialmente las veces que tienes que reescribir. Como vas a reutilizar el código gracias a este principio de programación, evitarás su duplicación. Por lo tanto, la tan temida duplicación del código es un problema al que no te expondrás. Además, gracias al principio de herencia ahorrarás tiempo porque te será más fácil realizar las correspondencias entre clases y objetos.

4 principios de la Programación Orientada a Objetos

La encapsulación: La encapsulación contiene toda la información importante de un objeto dentro del mismo y solo expone la información seleccionada al mundo exterior. Esta propiedad permite asegurar que la información de un objeto esté oculta para el mundo exterior, agrupando en una Clase las características o atributos que cuentan con un acceso privado, y los comportamientos o métodos que presentan un acceso público.

La encapsulación de cada objeto es responsable de su propia información y de su propio estado. La única forma en la que este se puede modificar es mediante los propios métodos del objeto. Por lo tanto, los atributos internos de un objeto deberían ser inaccesibles desde fuera, pudiéndose modificar sólo llamando a las funciones correspondientes. Con esto conseguimos mantener el estado a salvo de usos indebidos o que puedan resultar inesperados. Usamos de ejemplo un coche para explicar la encapsulación. El coche comparte información pública a través de las luces de freno o intermitentes para indicar los giros (interfaz pública). Por el contrario, tenemos la interfaz interna, que sería el mecanismo propulsor del coche, que está oculto bajo el capó. Cuando se conduce un automóvil es necesario indicar a otros conductores tus movimientos, pero no exponer datos privados sobre el tipo de carburante o la temperatura del motor, ya que son muchos datos, lo que confundiría al resto de conductores. La abstracción: La abstracción es cuando el usuario interactúa solo con los atributos y métodos seleccionados de un objeto, utilizando herramientas simplificadas de alto nivel para acceder a un objeto complejo. En la programación orientada a objetos, los programas suelen ser muy grandes y los objetos se comunican mucho entre sí. El concepto de abstracción facilita el mantenimiento de un código de gran tamaño, donde a lo largo del tiempo pueden surgir diferentes cambios. Así, la abstracción se basa en usar cosas simples para representar la complejidad. Los objetos y las clases representan código subyacente, ocultando los detalles complejos al usuario. Por consiguiente, supone una extensión de la encapsulación. Siguiendo con el ejemplo del coche, no es necesario que conozcas todos los detalles de cómo funciona el motor para poder conducirlo. La herencia: La herencia define relaciones jerárquicas entre clases, de forma que atributos y métodos comunes puedan ser reutilizados. Las clases principales extienden atributos y comportamientos a las clases secundarias. A través de la definición en una clase de los atributos y comportamientos básicos, se pueden crear clases secundarias, ampliando así la funcionalidad de la clase principal y agregando atributos y comportamientos adicionales. Volviendo al ejemplo de los animales, se puede usar una sola clase de animal y agregar un atributo de tipo de animal que especifique el tipo de animal. Los diferentes tipos de animales necesitarán diferentes métodos, por

Aspectos Clave de las Normas de Codificación

1. Estilo de Escritura del Código: Consistencia en el uso de mayúsculas y minúsculas. Uso apropiado de sangrías y espacios en blanco. Nombramiento descriptivo de variables y funciones. 2. Comentarios y Documentación: Uso de comentarios claros y concisos para explicar el propósito de fragmentos de código. Documentación detallada de funciones y clases, incluyendo parámetros y valores de retorno. 3. Estructura del Código: Organización lógica del código en módulos y clases. Evita la duplicación de código (DRY - Don't Repeat Yourself). 4. Manejo de Errores: Implementación de manejo de errores robusto y registro de errores efectivo.

Code Reviews: Garantizando la Calidad del Código

Las revisiones de código son un componente esencial para garantizar que el código cumpla con las normas de codificación y mantenga una alta calidad. Durante una revisión de código, otros miembros del equipo evalúan el código en busca de errores, inconsistencias y oportunidades de mejora.

Estrategias para Mantener la Calidad del Código

Herramientas de Análisis de Código: Utilizar herramientas automatizadas de análisis de código para identificar problemas de manera rápida y eficiente.  Pruebas Unitarias: Implementar pruebas unitarias para asegurar que las partes clave del código funcionen correctamente y sigan siendo válidas después de las actualizaciones.  Actualizaciones y Mantenimiento Continuo: Programar revisiones periódicas del código para abordar problemas de calidad a lo largo del tiempo.  Formación y Desarrollo: Proporcionar capacitación y recursos para que los miembros del equipo mejoren sus habilidades de codificación.

Diferencias entre C y C++

C y C++ son dos lenguajes de programación distintos, con algunas similitudes. A continuación, citamos algunas de las principales diferencias entre C y C++:

1. Librerías. C++ cuenta con una amplia variedad de librerías y herramientas disponibles que facilitan el desarrollo de aplicaciones complejas y de gran escala. En contraste, C tiene una librería estándar más limitada. 2. Sobrecarga de operadores. C++ permite a los programadores sobrecargar operadores como +, -, *, /, etc.; esto vuelve factible crear tipos de datos personalizados y proporciona una mayor flexibilidad y expresividad en la escritura de código, mientras que C no tiene esta funcionalidad. 3. Gestión de memoria. En C++, la gestión de memoria es responsabilidad del programador, quien debe asignar y liberar manualmente la memoria empleada por su programa. En C, la gestión de memoria es más simple, porque no es necesario liberar la memoria usada por las variables globales y estáticas. 4. Compatibilidad con C. C++ es compatible con C, lo que permite a los programadores utilizar código C en programas C++. Sin embargo, el código C no es compatible con todas las características de C++. 5. Compilación. El proceso de compilación de C++ es más complejo que el de C, ya que el compilador C++ debe realizar tareas adicionales para admitir la programación orientada a objetos. En resumen, aunque C y C++ comparten algunas similitudes, C++ es un lenguaje de programación más avanzado y completo. Ofrece soporte para programación orientada a objetos, sobrecarga de operadores, una librería estándar más amplia y una gestión más compleja de la memoria, mientras que C es más simple y más adecuado para aplicaciones menos complejas y de menor escala.