¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Clases y Objetos
Clase
Objeto
Instanciar una clase: Constructores
Variables de referencia
Modificadores de visibilidad o acceso
Métodos getters y setters
Palabra reservada: this
Sobrecarga de métodos y constructores
Modificador static
Inicialización de atributos de una clase
Recolector de basura
Clase Object
La clase Object
es la clase raíz de la cual heredan todas las clases. Esta herencia es implícita, no es necesario indicarlo en la subclase (mediante extends). Puede que una clase no herede de Object, pero tendrá una superclase que sí lo hace.
La clase Object define una serie de métodos miembro que son heredados por todas las clases. Algunos de estos métodos se redefinen (o sobrescriben) en las clases que definamos.
Encapsulamiento y abstracción
La programación orientada a objetos (POO) es un paradigma de programación basado en unos pilares. Entre ellos podemos encontrar 4 principales: abstracción, encapsulamiento, herencia y polimorfimo.
La abstracción se puede entender como la representación de entidades (pueden ser de la vida real) mediante elementos de un programa. Definimos esos elementos mediante las clases (Coche, Vehiculo, Persona, Pasajero, etc) y los usamos mediante sus objetos.
Además, estos elementos realizan una serie de operaciones, pero nosotros no tenemos por qué saber cómo se realizan están operaciones: el cómo se hace, formará parte de la clase, donde se definen cómo se hacen las cosas. A nosotros una clase nos ofrece una interfaz (métodos) mediante la cual realizar dichas operaciones, sin tener que preocuparnos de entender cómo se hacen o de implementar su funcionamiento cada vez que las usemos. Todo esto se conoce como abstracción.
El concepto de encapsulamiento es otro pilar fundamental de la POO y está ligado a la abstracción. Consiste en aislar los miembros (propiedades y operaciones) del acceso exterior (ponerlos dentro de una clase). Así evitamos que otras partes del programa pueden modificar las propiedades de un objeto de forma errónea, y crearemos una interfaz para trabajar con el objeto y acceder a sus propiedades. Esta interfaz son los métodos. Es la forma en la que el objeto nos permite trabajar con él, sin poder tener acceso a su interior (implementación de operaciones, valor de las propiedades).
La herencia y el polimorfismo se verán más adelante ya que también están ligados entre sí.
Otras palabras reservadas
Las siguientes palabras clave se irán viendo a medida que trabajemos con nuestras clases y ampliando conocimientos:
extends
: Se usa para indicar cuál es la clase desde la que se hereda.super
: similar athis
, pero contiene una referencia a la superclase.abstract
: modificador para clases o métodos, se usa en las clases abstractas.final
: se aplica tanto a variables, clases o métodos, e indica que no se permiten modificar.interface
: similar a la palabraclass
, define una clase abstracta pura, se conocen como interfaces.implements
: similar aextends
, se usa para indicar de qué interfaces se hereda.
© 2025 Fernando Valdeón