Me apetece hacer un par de unas cuantas entradas acerca de la programación orientada a objetos, y para ello, la separaré en pequeños módulos, con información de puntos determinados.
En esta primera entrada acerca de la programación orientada a objetos hablaremos de una de las cosas más importantes en la POO, el objeto.
Veamos detenidamente qué es un objeto:
Es un conjunto de variables (o datos) y métodos (o funciones) relacionados entre sí. En programación se usan para modelar objetos o entidades del mundo real, por tanto, un objeto es la representación en un programa de un concepto, y contiene toda la información necesaria para abstraerlo, datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos.
Los atributos del objeto (estado) y lo que el objeto puede hacer (comportamiento) están expresados por las variables y los métodos que componen el objeto respectivamente.
Pongamos por ejemplo una Ambulancia, en el mundo real tendría variables que indicarían:
Estado actual de la Ambulancia
- Velocidad
- Combustible
- Peso
Estas variables tienen el nombre de variables instancia o variables miembro. Porque contienen el estado de un objeto Ambulancia particular (en POO un objeto particular se denomina instancia). Además de estas variables, el objeto Ambulancia podría tener un método para frenar, etcétera… A estos métodos se les llama métodos instancia o métodos miembro (qué original, ¿no?, igual que las variables:-). Y el motivo es el mismo que antes, cambian el estado de una instancia u objeto Ambulancia particular.
Las variables y métodos miembro se protegen (empaquetan) y a esto se le llama encapsulación (lo veremos en otro post). Aunque también es cierto que en algunos casos podríamos exponer alguna de las variables miembro (o sea, no protegerlas), o incluso proteger otras de sus propios métodos o funciones miembro.
En este punto, en función del lenguaje de programación, se permiten diferentes niveles de protección de las variables y/o funciones miembro. (También lo trataremos en otro post)
A la hora de encapsular las variables y/o funciones miembro se suele hablar de dos beneficios:
- Capacidad de crear módulos: El código puede escribirse y mantenerse independiente del código fuente del resto de los objetos. Es decir… podríamos prestar nuestra Ambulancia, y en teoría seguiría funcionando.
- Protección de información: Un objeto tendrá una interfaz pública que otros objetos podrán usar para comunicarse con él (hablaremos de interfaz en otro post).
En resumen:
Un objeto (en la POO) es la representación de un concepto en nuestro programa. Ya que de momento, no hablaremos de la Clase, la que trataremos en otro post…
Saludos!
[...] en futuros post, hablando del la Programación orientada a objetos. Anterior entrega: Paradigma de la programación orientada a objetos. Objeto Siguiente entrega: Paradigma de la programación orientada a objetos. [...]