Programacion Orientada A Objetos
Programacion Orientada A Objetos
Programacion Orientada A Objetos
alrededor de datos u objetos, en vez de usar funciones y lógica. Se enfoca en los objetos que los programadores
necesitan manipular, en lugar de centrarse en la lógica necesaria para esa manipulación. Se basa en el concepto de
clases y objetos. Este tipo de programación se utiliza para estructurar un programa de software en piezas
simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos.
Una clase es una plantilla. Define de manera Un ejemplo sencillo de un objeto, como decíamos
genérica cómo van a ser los objetos de un antes, podría ser un animal. Un animal tiene una
determinado tipo. Por ejemplo, una clase para edad, por lo que creamos un nuevo atributo de
representar a animales puede llamarse ‘animal’ ‘edad’ y, además, puede envejecer, por lo que
y tener una serie de atributos, como ‘nombre’ o definimos un nuevo método. Datos y lógica. Esto
‘edad’ (que normalmente son propiedades), y una es lo que se define en muchos programas como
serie con los comportamientos que estos pueden la definición de una clase, que es la definición
tener, como caminar o comer, y que a su vez se global y genérica de muchos objetos.
implementan como métodos de la clase
(funciones).
Consiste en hacer clases y crear objetos a partir de estas clases. Las clases forman el modelo a partir del
que se estructuran los datos y los comportamientos.
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.
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. 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.
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.
Polimorfismo:
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. Al utilizar la herencia, los objetos pueden anular
los comportamientos principales compartidos, con comportamientos
secundarios específicos.
• Reutilización del código heredado: Cuando se diseñan correctamente las
clases, se pueden usar en distintas partes del programa y en diferentes
proyectos. La técnica de herencia ahorra tiempo porque permite crear una
clase genérica y luego definir las subclases que heredarán los rasgos de la
misma, de manera que no es necesario escribir esas funciones de nuevo.
Además, al aplicar un cambio en la clase, todas las subclases lo adoptarán
automáticamente.