






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
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
1 / 10
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







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.
Nombre: Reinaldo Pérez Villarreal C.I: 30.189. Asignatura: programación orientada a objetos Docente: José Velásque
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
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.
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.
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
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.
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.
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.
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.