# data[].attributes.body
Una vez explicada la programación orientada a objetos puede parecer bastante lógica, pero no es algo que haya existido siempre, y de hecho hay muchos lenguajes de programación que no la soportan.

En parte surgió debido a la creciente complejidad a la que los programadores se iban enfrentando conforme pasaban los años. En el mundo de la programación hay gran cantidad de aplicaciones que realizan tareas muy similares y es importante identificar los patrones que nos permiten no reinventar la rueda. La programación orientada a objetos intentaba resolver esto.

# data[].attributes.body
Las clases son los modelos sobre los cuáles se construirán nuestros objetos.

Las clases contiene atributos y métodos.

Atributos: son las características intrínsecas del objeto. Éstas, se representan a modo de variables.

Métodos: representan acciones propias que puede realizar el resultado de la clase (objeto).

# data[].attributes.body
Una clase sería la definición de nuestros objetos, la clase definirá cual serán los atributos, y cual será el comportamiento de cada uno de los objetos, este deberá cumplir con los atributos y funciones de la clase.

Ejemplo:
Se estará trabajando en la clase carro, con los siguientes atributos:

Modelo

Marca

Color

Tipo

# data[].attributes.body
Un objeto es una unidad dentro de un programa informático que tiene un estado, y un comportamiento. Es decir, tiene una serie de datos almacenados y tareas que realiza con esos datos en el tiempo de ejecución.
Este se crea en base a la clase

# data[].attributes.headline
Ventajas de Programación orientada a objetos

# data[].attributes.subject
Ventajas de Programación orientada a objetos

# data[].attributes.body
Un objeto es las diferentes derivaciones de la clase, es decir a partir de la clase Carro podemos crear nuestro objeto de un Aveo 2022.

Modelo: 2022

Marca: Chevrolet

Color: Blanco

Tipo: Sedan

# data[].attributes.body
Son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.

# data[].attributes.body
Constituyen la lógica de la clase, es decir, contienen el código que manipula el estado del objeto. Además constituyen el mecanismo utilizado para implementar los mensajes entre objetos. Quiere decir, cuando un objeto se comunica con otro por un mensaje lo hace por medio de la invocación al método correspondiente del objeto.