La programación orientada a objetos se centra en varios principios clave que facilitan el diseño y la implementación de software. El polimorfismo permite que objetos diferentes sean procesados de múltiples maneras a través de una interfaz común.
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. La principal ventaja de la herencia es la capacidad para definir atributos y métodos
nuevos para la herencia donde luego se aplicarán a los atributos y métodos heredados.
El polimorfismo
Consiste en diseñar objetos para compartir comportamientos, lo que nos permite
procesar objetos de diferentes maneras. Es la capacidad de presentar la misma interfaz para
diferentes formas subyacentes o tipos de datos
Modularidad
Consiste en dividir un programa en módulos que puedan compilarse por separado, sin embargo,
tendrá conexiones con otros módulos. La modularidad, también tiene principios tales como la
capacidad de descomponer un sistema complejo.
- 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.
- 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, con esto se evita que se pueda acceder a los datos por otros medios no fijados.
Una CLASE es una plantilla. Define de manera genérica cómo van a ser los objetos de un determinado
tipo. Por ejemplo, una clase para representar a animales puede llamarse ‘animal’ y tener una serie
de atributos, como ‘nombre’ o ‘edad’
Es un modelo o un estilo de programación que nos
da unas guías sobre cómo trabajar con él. Se basa en el concepto de clases y objetos. La
programación orientada a objetos está enfocada en los atributos de los objetos y en su valor, en
cuanto a la clase es la estructura y los procedimientos que se deben de definir en la operación de
los datos.
Estructuras de control
Es la que se da naturalmente en el lenguaje, ya que por defecto las
sentencias son ejecutadas en el orden en que aparecen escritas en el programa.
VENTAJAS: -modularización: permite segmentar un programa complejo en una serie de partes o
módulos más simples, facilitando así la programación y el depurado.
-reutilización: permite reutilizar una misma función en distintos programas.
FUNCIONES:
La programación estructurada busca dividir o descomponer un problema complejo en pequeños
problemas. La solución de cada uno de esos pequeños problemas nostrae la solución del problema
complejo.
Programación estructurada
La programación estructurada es un paradigma de programación basado en utilizar funciones o
subrutinas, y únicamente tres estructuras de control
SELECCION O CONDICIONAL: ejecución de una sentencia o conjunto de sentencias, según
el valor de una variable booleana
INTERACCION (CICLO O BUCLE): ejecución de una sentencia o conjunto de sentencias,
mientras una variable booleana sea verdadera
SECUENCIA: ejecución de una sentencia tras otra.
DESVENTAJAS DE LA PROGRAMACION ESTRUCTURADA
• Cambio en la forma de pensar de la programación tradicional a la orientada a objetos.
• La ejecución de programas orientada a objetos es más lenta.
VENTAJAS DE LA PROGRAMACION ESTRUCTURADA
• Los programas son más fáciles de entender.
• Reducción del esfuerzo en las pruebas.
• Reducción de los costos de mantenimiento.
• Programas más sencillos y rápidos.
• Aumento de la productividad del programador.
• Los programas quedan mejor documentados internamente.