Programación Orientada a Objetos

Introducción

En esta sec­ción vamos a hablar sobre el par­a­dig­ma de pro­gra­mación ori­en­ta­da a obje­tos (POO en español, OOP en inglés). 

Esta es una her­ramien­ta poderosa que nos ayu­dará a con­stru­ir solu­ciones intu­iti­vas para nue­stros pro­gra­mas o videojuegos.

¿Qué es la programación orientada a objetos?

Se tra­ta de una for­ma intu­iti­va de pen­sar los prob­le­mas que ten­emos que resolver. 

Al uti­lizar POO, pen­samos qué obje­tos debe­mos con­stru­ir para que estos reciban la infor­ma­ción de entra­da, la pro­ce­sen y pro­duz­can infor­ma­ción de salida.

Los obje­tos son enti­dades abstrac­tas que creare­mos tenien­do en cuen­ta el fun­cionamien­to que deben cumplir, cuáles son sus car­ac­terís­ti­cas bási­cas, cuáles son sus respon­s­abil­i­dades, con quién deben rela­cionarse, entre otros factores.

Artículos sobre programación orientada a objetos

Antes de seguir ade­lante dejaré una lista de todos los artícu­los con la cat­e­goría de pro­gra­mación ori­en­ta­da a objetos.

Características de la programación orientada a objetos 

Inten­taré explicar con mis pal­abras qué sig­nif­i­can algunos de los grandes con­cep­tos que apare­cen al estu­di­ar POO.

Abstracción

La abstrac­ción es un pro­ce­so de nue­stro int­elec­to que nos per­mite tomar un obje­to de estu­dio, rel­e­var las car­ac­terís­ti­cas o ras­gos fun­da­men­tales y crear una idea men­tal de ese objeto.

A par­tir de esta idea men­tal creare­mos nue­stros obje­tos de programación.

Encapsulamiento

Esta car­ac­terís­ti­ca impli­ca que todos los datos y fun­ciones propias del obje­to que quer­e­mos mod­e­lar van a estar reunidas o encap­su­ladas en una mis­ma entidad.

En la prác­ti­ca vamos a encap­su­lar los datos y fun­ciones que ten­drá un obje­to den­tro de una clase de programación.

Herencia

La heren­cia per­mite estable­cer una estruc­tura de clases orga­ni­za­da en jerarquías. 

En las clases supe­ri­ores (cono­ci­das como super clases) se definen las propiedades y el com­por­tamien­to más gen­er­al y se cre­an clases hijas (sub­clases) que heredan las propiedades y el com­por­tamien­to de la super clase.

A través de la heren­cia se pueden con­stru­ir clases cada vez más especí­fi­cas pero que tienen car­ac­terís­ti­cas en común entre ellas ya que descien­den de la mis­ma super clase.

Polimorfismo

El polimor­fis­mo nos per­mite tomar un con­jun­to de obje­tos de dis­tin­to tipo y eje­cu­tar uno o más méto­dos que todos ellos entien­den, pero la fun­ción que eje­cute ese méto­do será propia de cada tipo de objeto.

Esto nos per­mite crear dis­tin­tos tipos de obje­tos que respon­dan de man­era dis­tin­ta a un mis­mo estímulo.

Este en mi opinión este es uno de los con­cep­tos más poderosos de la POO. 

Principio de ocultación de la información

Esta propiedad tiene que ver con los datos y fun­ciones que se con­sid­er­an inter­nas de un obje­to. Dichas propiedades deben per­manecer ocul­tas al exte­ri­or para pre­venir que otros obje­tos las manip­ulen directamente. 

Los obje­tos ofre­cerán al exte­ri­or una serie de fun­ciones públi­cas para hac­er uso de su fun­cional­i­dad y acced­er o mod­i­ficar su datos internos.

Scroll al inicio
Secured By miniOrange