Fundamentos de Clases y Objetos en Programación Orientada a Objetos
Clasificado en Informática
Escrito el en español con un tamaño de 2,34 KB
Clases
Una **clase** es una plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el lenguaje. Cada clase es un modelo que define un conjunto de **variables** (el estado) y **métodos** apropiados para operar con dichos datos (el comportamiento). Cada objeto creado a partir de la clase se denomina **instancia** de la clase. Permiten abstraer los datos y sus operaciones asociadas al modo de una caja negra. Soportan diversas formas de **herencia** y **encapsulación**.
Ideas clave:
- Plantilla para la creación de objetos
- Define variables y métodos
- A partir de la clase se crean los objetos
- La clase se instancia para crear un objeto
- Java soporta herencia y encapsulación
Objetos
Los **objetos** son la clave para entender la programación orientada a objetos. Todo a nuestro alrededor puede ser considerado un objeto. Los objetos tienen dos características comunes: el **estado** y el **comportamiento**.
- El **estado** es una característica actual del objeto (en un coche, su color, velocidad).
- El **comportamiento** son las acciones que el objeto puede llevar a cabo (en el coche: acelerar, frenar).
En ocasiones, un objeto puede estar compuesto por otros objetos. Los objetos guardan su estado en **campos** y exponen su comportamiento a través de **métodos**. Los métodos son quienes operan con el estado de los objetos, con lo que son los encargados de proporcionar la comunicación con el objeto. Al hacer que se acceda a los campos/atributos a través de métodos, se garantiza que en los campos únicamente haya valores que nos interesen.
Beneficios:
- **Modularidad**
- **Ocultación de información**
- **Reusabilidad**
- **Facilidad de uso**
Un objeto es una instancia de una clase.
Atributos
Una clase puede contener o no atributos, y estos atributos pueden ser de tipo primitivo o bien otras clases.
Constructor
Un **constructor** es una subrutina cuya misión es inicializar un objeto de una clase. En el constructor se asignan los valores iniciales del nuevo objeto.
Método
Un **método** es básicamente lo mismo que una función, pero asociado a un objeto.