Programación para todos- ¿Qué es un objeto?

in #spanish6 years ago (edited)

Existe un paradigma en la programación llamado Programación Orientada a Objetos (POO), basado en una funcionalidad llamada Objeto, la cual se distingue por contener datos conocidos como atributos y código, en forma de funciones, conocido como métodos. En resumen, un objeto es el modelo en un programa de un objeto de la realidad.

Cada día es más importante conocer cómo funciona la tecnología, es por eso que este post tiene como fin dar a entender a quienes no tienen ni una idea acerca de la programación ¿Qué es un objeto?

Percepción humana


Para entender qué es un objeto en programación nos enfocaremos primero en entender qué es la percepción humana.

La percepción humana es la capacidad del ser humano de formar una impresión o una idea basada en lo que percibe con sus sentidos. ¿Y qué podemos percibir con nuestros sentidos? sonidos, imágenes, sensaciones, sabores y olores. Prácticamente podemos percibir las cualidades de lo que nos rodea...

De la percepción a un Objeto en programación

De las cualidades de la realidad que podemos percibir, en las ciencias de la computación, se decidió dividirlas en dos categorías principales: Atributos y Métodos.

Los atributos se refiere a todas aquellas cualidades de una "cosa" que son parte de su naturaleza o que constituyen su existencia, por ejemplo, colores, tamaños, nombres, edades, etc...

Los métodos se refieren a todas las cualidades de una "cosa" que modifican su estado o el de otra "cosa", es decir, todas las acciones de las que es capaz, por ejemplo, saltar, correr, brincar, pegar, besar, etc...

En programación, los atributos y métodos se deben expresar en un lenguaje de programación (cómo hablar inglés, francés, italiano o algún otro idioma, a las computadoras se les puede hablar en varios) por ejemplo, en java expresaríamos los atributos y métodos de un perro de la siguiente manera.


public class Perro{

String raza;
String color;
int peso;

public void saltar(){

}

public void caminar(){

}

public void ladrar(){

}

}

Cómo podemos ver, la raza y el color están expresados como atributos tipo String, esto quiere decir que con palabras podremos asignarle en su momento un valor a esos atributos, dependiendo el perro.

Abajo podemos ver en el nombre de los métodos que en momento en que queramos hacer que nuestro futuro perro digital ladre, salte o camine solo tenemos que llamar a esas funciones. (hacer caso omiso por el momento a las demás palabras dentro del programa y símbolos).

Ahora....viene lo más revelador y con lo que entenderemos qué es un objeto...

Seguramente notamos que los atributos y métodos no están apegados a un tipo de perro en específico, a pesar de que escribimos las palabras, raza, color, o incluso peso, no estamos poniéndoles un valor específico...La razón es que este código es una plantilla, un molde que cuando sólo cuando queramos utilizarlo, tendremos que asignarle los valores a los atributos, y cuando queramos usar los métodos sólo ya asignados los valores podremos hacerlo.

Viéndolo como una analogía, es como si fuéramos fabricantes de moldes de panques y al mismo tiempo chefs. Primero fabricamos el molde y luego ya que queramos realizar un panque, le ponemos los ingredientes distintivos para una ronda específica de panques, ya que esten cocinados a esto le llamaremos un Objeto. Es decir, si en programación a nuestra plantilla(clase) Perro la instanciaríamos con la raza Pitbull, color gris y peso 40 kilos, ya tendríamos un objeto. Y esto lo podríamos hacer cuántas veces quisiéramos.

Programar es análogo a ser un creador de objetos digitales


Public Perro Jefry = new Perro(pitbull, gris, 40);
Public Perro Juan = new Perro(labrador, cafe, 38);

Concluimos con una muestra de cómo se vería la creación de un objeto en java basándonos en la plantilla o clase creada anteriormente.

¡Comenten sus dudas!