Bienvenido, soy Luis y aquí les traigo otro nuevo post.
Índice
¿Qué significa eso?
La programación es un tema fascinante, con términos e ideologías clave que pueden parecer complejos y que son complejos. Estas complejidades pueden disuadir a otros de aprender sobre este maravilloso tema, aumentando la brecha entre cuántas personas pueden codificar y cuántas no. Hoy nos centraremos en la Orientación a Objetos, pero para poder incluir a los demás, no hablaré de cómo funciona el código técnico hasta el final. Un lector ocasional debería poder leer el 75% de este blog y estar tan fascinado por el tema que se interese en aprender cómo se relaciona con el código.
Orientación a objetos
Hablemos de qué es un objeto y cómo se relaciona con las computadoras. El diccionario Merriam Webster define un objeto como «algo material que puede ser percibido por los sentidos», esta definición tiene sentido. Una pelota, legos, mi iPhone y una casa. ¿Qué tienen en común todas estas cosas? Todos son objetos. Todos son “algo material” que nuestro cerebro interpreta como una pelota, legos, mi iPhone y una casa. Sin embargo, piense en qué hace que los objetos anteriores sean diferentes entre sí. Puede elaborar una lista larga de cosas que hace que todos los objetos sean diferentes entre sí, todas esas cosas se reducen a atributos de un objeto. Tomemos una casa, por ejemplo.
Una casa tiene atributos simples que la convierten en una casa. Enumeremos algunos:
Casa
- Techo
- Ventana (s)
- Puerta (s)
- Habitaciones)
- Baño (s)
Si. Estoy seguro de que puedes pensar en más cosas que tiene una casa, pero veamos esto como un modelo por ahora. Cualquiera puede estar de acuerdo en que una casa tiene los atributos anteriores y que esos atributos son necesarios para tener una casa. Puede que estés pensando ahora, ¿cómo se relaciona esto con las computadoras? Bueno, hablemos de las computadoras. ¿Cómo podemos relacionar la definición de Objeto discutida anteriormente con las computadoras? Bueno, si un Objeto para los humanos es “algo material que puede ser percibido por los sentidos”, entonces para una computadora debe ser “algo digital que pueda ser entendido por la computadora”. Sí, ¡es realmente así de simple! En Código podemos crear un plano llamado “Casa” y asignarle los atributos anteriores, y cada vez que queremos crear una nueva casa simplemente nos referimos al plano original y completamos los valores que queremos tener.
Por ejemplo: quiero hacer una nueva casa. Llamémoslo «Los Sauces».
Los sauces = casa nueva
- 1 techo
- 4 ventanas
- 4 puertas
- 2 habitaciones
- 2.5 baños
Mi nueva casa «Los Sauces» es ahora un objeto que creé usando el plano de una «Casa». Ahora, seamos honestos, se requiere mucho más tiempo, esfuerzo y construcción para construir una casa y seguro que me gustaría tener más de estos 5 atributos en mi casa. Asimismo, en programación hay objetos más complejos por crear con muchos más atributos por agregar, el límite es tu imaginación, pero por ahora esto es lo básico de cómo funcionan los objetos en programación.
El código
Ahora que tenemos una comprensión bastante profunda de lo que es un objeto, repasemos cómo se mostrarán estos objetos en el código. Para los siguientes ejemplos, solo me referiré a cómo funciona esto en el programa llamado Ruby, sin embargo, los mismos principios deberían aplicarse a otros programas.
Entonces, la pregunta es cómo traducimos nuestra casa «Los Sauces» en código. Bueno, primero comenzamos haciendo el plano de nuestra casa:
class House end
La clase es el modelo de cómo se crean todos los demás objetos. Es la hoja de papel literal con la que sus sueños pueden convertirse en realidad. Ok, tal vez un poco dramático, pero entiendes el punto, para seguir adelante comenzamos aquí. Sigamos adelante y agreguemos algunos atributos a nuestro plan.
class House attr_accessor :roof, :windows, :doors, :rooms, :bathrooms def initialize(roof, windows, doors, rooms, bathrooms) @roof = roof @windows = windows @doors = doors @rooms = rooms @bathrooms = bathrooms end end
¡Excelente! Entonces ahora tenemos todos los atributos necesarios para construir una casa simple. Ahora sé que tienes algunas preguntas. ¿Qué es un attr_accessor? ¿Qué significa inicializar? ¿Por qué necesita incluir todos esos signos @ delante de los atributos, de qué se tratan todos esos extremos? ya esas preguntas diré lo siguiente: Si desea obtener más información, lo tiene. ¿Tienes qué, preguntas? Tienes los ingredientes para ser un gran ingeniero de software. Haga preguntas, sea curioso, nunca se conforme con menos, siempre trate de aprender más, pero por ahora, este es su plano y con este plano podemos crear nuestra primera casa.
the_willows = House.new(1, 4, 4, 2, 2.5)
¡Increíble! ¡Hemos construido nuestro objeto! ¡Tenemos nuestra casa! Ahora digamos que quiero confirmar si la computadora sabe cuántas ventanas hay en mi casa. Podemos decir:
the_willows.windows computer returns #=> 4
¡Espléndido! La computadora sabe cuántas ventanas hay en mi casa, eso es exactamente lo que queremos y podemos aplicar este mismo método a todas las demás cosas de mi casa.
the_willows.roof #=> 1 the_willows.windows #=> 4 the_willows.doors #=> 4 the_willows.rooms #=> 2 the_willows.bathrooms #=> 2.5
Conclusión
La programación es maravillosa, ¿no? Espero que a través de este blog encuentres que la Orientación a objetos en la programación sea un poco menos complicada. Ahora sal, comparte esto con un amigo, aprende algo de Ruby, construye algo pequeño, construye algo grandioso, pero hagas lo que hagas, haz un buen trabajo.
Feliz codificación.
Añadir comentario