¿Qué es la programación orientada a objetos?
Es un paradigma de la programación de computadores que tiene como objetivo el desarrollo computacional basado en una colección de objetos que están interrelacionados y trabajan conjuntamente para resolver un problema. Surge dentro de los paradigmas de la programación como un enfoque diferente al momento de obtener soluciones computacionales.
La programación orientada a objetos (POO) nace en los años 60's en el Norwegian Computing Center con la implementación de dos lenguajes de programacion de simulacion: Simula 1 y Simula 67, desarrollados por Kristen Nygaard y Ole Johan Dahl. Simula 67 introdujo por primera vez los conceptos de clases, objetos, herencia, subclases, corrutinas y funciones virtuales. Es por esta razón que Simula es considerado el primer lenguaje orientado a objetos.
2.1 Herencia
Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los existentes.
Ejemplo:
el gato y el perro tendrían la herencia (métodos y atributos) del mamífero.
2.2 Polimorfismo
En programación orientada a objetos, el polimorfismo o poliformismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas.
Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u objetos de cualquier clase) como Smalltalkse requiere que los objetos que se utilizan de modo polimórfico sean parte de una jerarquía de clases.
2.3 Abstracción
Expresa las caracteristicas esenciales de un objeto, las cuales distinguen al objeto de los demas,
Ejemplo:
El objeto seria un pajaro y sus caracteristicas serian:
pico
alas
patas
plumas
Las funcionalidades asociadas serian volar,parar,etc.
2.4 Encapsulamiento
La encapsulación es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.
La encapsulación define los niveles de acceso para elementos de esa clase. Estos niveles de acceso definen los derechos de acceso para los datos, permitiéndonos el acceso a datos a través de un método de esa clase en particular, desde una clase heredada o incluso desde cualquier otra clase. Existen tres niveles de acceso: público, las funciones de todas las clases pueden acceder a los datos o métodos de una clase que se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo; protegido, el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las funciones miembro de esa clase y todas las subclases; privado, el acceso a los datos está restringido a los métodos de esa clase en particular. Este es nivel más alto de protección de datos.
Referencias:
https://es.slideshare.net/equipo2/poo-herencia-abstraccion-y-polimorfismo
https://es.ccm.net/contents/410-poo-encapsulacion-de-datos
https://algonzalezpoo.wordpress.com/caracteristicas-de-poo/
No hay comentarios:
Publicar un comentario