¿Qué es? Es un paradigma que utiliza objetos que contienen datos para organizar modelos en lugar de acciones, es decir, es un modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un programa de software en piezas simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos. Entonces, los objetos son todo lo que nos rodea, que podemo ver, tocar, mover, girar, revisar, romper, etc.
Los paradigmas de programación anteriores se centraban en la lógica detrás de las acciones en lugar de los objetos en sí.
Los objetos incluyen cosas como personas (nombres, por ejemplo) a pequeños widgets que encontramos en nuestros dispositivos inteligentes. Estos objetos le permiten reutilizar el código escrito para otras funciones y los objetos se basan principalmente en clases. Las diferentes clases son luego modeladas y organizadas por la lógica que las manipula, llamada método. Las subclases son objetos relacionados que también comparten características y métodos con su clase principal.
Ventajas de un lenguaje
orientado a objetos
Fomenta la reutilización y extensión del
código.
Permite crear sistemas más complejos.
Relacionar el sistema al mundo real.
Facilita la creación de programas visuales.
Construcción de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo y el mantenimiento del software
Conceptos claves:
El primer concepto que es importante comprender es la CLASE. Las clases en POO se consideran moldes o plantillas, así es, como lo moldes para las gelatinas
a partir de uno se puede crear todas las gelatinas que uno requiera, entonces cuando se crean las gelatinas, en POO a eso se le llama OBJETO.
Una CLASE define de manera genérica cómo van a ser los objetos de un determinado tipo, otro ejemplo es una clase para representar a animales puede llamarse ‘animal’ y tener una serie de atributos, como ‘nombre’ o ‘edad’ (que normalmente son propiedades), y una serie con los comportamientos que estos pueden tener, como caminar o comer, y que a su vez se implementan como métodos de la clase (funciones).
Un ejemplo sencillo de un objeto, como decíamos antes, podría ser un animal. Un animal tiene una edad, por lo que creamos un nuevo atributo de ‘edad’ y, además, puede envejecer, por lo que definimos un nuevo método. Datos y lógica. Esto es lo que se define en muchos programas como la definición de una clase, que es la definición global y genérica de muchos objetos.
Con la clase se pueden crear INSTANCIAS DE OBJETOS, cada uno de ellos con sus atributos definidos de forma independiente. Con esto podríamos crear un gato llamado pikachu, con 3 años de edad, y otro animal, este tipo perro y llamado cabo, con una de edad de 4 años. Los dos están definidos por la clase animal, pero son dos instancias distintas. Por lo tanto, llamar a sus métodos puede tener resultados diferentes. Los dos comparten la lógica, pero cada uno tiene su estado de forma independiente.
En consecuencia un OBJETO en POO se define como la instancia de una clase, por ejemplo, podemo crear gelatinas de fresa, mango, manzana, piña, etc. así en programación cuando creamos un objeto lo hacemos a partir de la clase. Representan un tipo particular de un objeto. Por lo tanto, son objetos con características y comportamiento similar.
Ahora bien, como te darás cuenta, con los moldes se crean gelatinas, pero ellas tienen CARACTERÍSTICAS, PROPIEDADES, ATRIBUTOS que las hacen diferentes por ejemplo: el color, sabor, textura, tamaño, altura, forma, etc. (porque podemos tener diferentes moldes y cada uno tendrá su propio diseño de gelatinas
Mensaje. Los objetos interactúan enviándose mensajes unos a otros. Tras la recepción de un mensaje el objeto actuará. La acción puede ser el envío de otros mensajes, el cambio de su estado, o la ejecución de cualquier otra tarea que se requiera que haga el objeto.
Método. Un método se implementa en una clase, y determina cómo tiene que actuar el objeto cuando recibe un mensaje; es decir, son las ACCIONES que realizan los objetos, por ejemplo, cuajar, deshacer, vaciar en el molde, retomando el ejemplo de una gelatina. Cuando un objeto A necesita que el objeto B ejecute alguno de sus métodos, el objeto A le manda un mensaje al objeto B.
Paso de mensajes. Esencialmente, el término describe la transmisión ordenada y eficiente de información entre componentes. Para que el paso de mensajes funcione correctamente, hay varios factores que deben tenerse en cuenta. Uno tiene que ver con identificar el formato utilizado para la transmisión. Las formas reales de los mensajes pueden ser:
señales,
paquetes de datos o
algún tipo de activación remota utilizando un lenguaje básico que los sistemas receptores están programados para reconocer.
Junto con el tipo de datos transmitidos, el paso de mensajes también implica estructurar el orden en que se reciben las transmisiones, un factor que ayuda en la asimilación de los datos en el extremo receptor.
El paso de mensajes puede usar lo que se conoce como un enfoque uno a uno, lo que significa que hay un único destinatario del mensaje. En este escenario, el destinatario asimila el mensaje y luego puede iniciar o no un nuevo mensaje que se transmite a un segundo destinatario. También existe un proceso conocido como mensajería uno a muchos que requiere un único punto de origen para iniciar la transmisión de un mensaje a múltiples destinos, un método que puede ser muy deseable dependiendo de la construcción de una red o plataforma.
Estructura interna de un objeto
La estructura interna de un objeto está compuesta por tres elementos fundamentales como son:
Propiedades: Características observables de un objeto, las propiedades se reconocen porque describen un aspecto del objeto que podemos medir como una escala establecida previamente. A cada propiedad se le debe asignar un valor el cual permite identificar de manera única al objeto.
Método: Se define como un conjunto de acciones que un objeto puede realizar para conseguir un propósito. Los métodos representan la parte viva e interesante de un objeto y se emplean habitualmente para identificar las propiedades del objeto. Al modificar cualquiera de las propiedades del objeto se altera su apariencia y se genera un cambio que el usuario de la aplicación puede percibir.
Eventos: Todos los objetos se relacionan con el mundo que los rodea, esto significa que ningún objeto está aislado y siempre recibe el influjo de otros objetos. Los eventos son los estímulos que un objeto ejerce sobre otro.
Ahora, para reafrrmar el tema, en el contexto cotidiando, pensemos en los siguientes ejemplos.
Caso 1. Se requiere de una clase que a partir de ella se puedan instanciar diferentes objetos, conocer las propiedades, algunos métodos y ejemplicar cada caso. La clase es Libro.
Clase:
Libro
Atributos:
Título
Autor
Editorial
Fecha de edición
Fecha de última reimpresión
País
Número de páginas
Métodos:
Colocar
Leer
Subtayar
Mover
Escribir
Quitar hojas
Objetos.
OBJETO 1. Libro de historia
Título: Fuentes de la Historia Contemporánea de México
Autor: Luis González y G
Editorial: Editorial Universidad Estatal a Distancia (EUNED)
Fecha de edición: 1961
Fecha de última reimpresión: 1992
País: México
Número de páginas: 527
OBJETO 2. Libro de Sw
Título: Introducción Análisis de Sistemas y la Ingeniería de Sw
Autor: Roberto Cortés Morales
Editorial: Colegio de México
Fecha de edición: 1961
Fecha de última reimpresión: 2020
País: Costa Rica
Número de páginas: 350
Caso 2. Se requiere de una clase para instanciar objetos de muebles de madera.
Clase:
Mueble de madera
Atributos:
Forma
Color
Textura
Grosor
Tamaño
Uso
Métodos:
Armar
Desarmar
Mover
Colocar
Objeto 1. Mesa
Forma: Rectangular
Color: Chocolate
Textura: Rústico
Dimensiones: 2.5 mts de largo, .80cm de alto, 15 cm de grueso
Uso: Mesa de comedor para 6 personas
Observaciones: Mesa con base, la base es de 2 accesorios laterales
Objeto 2. Armario
Forma: Rectangular
Color: Café
Textura: Liso
Dimensiones: 1.5 mts de alto, 2 mts de ancho, 1.8 mts interior
Uso: Closet / Guradaropa
Observaciones: Se coloca de manera rápida, práctico y resistente.
¿Qué te parece? Todo claro, poco a poco, no te preocupes, con la práctica desarrollarás tus habilidades en POO