¿Qué es un constructor en Java y cómo se usa?

¿Qué es un constructor en Java y cómo se usa?

En la programación orientada a objetos, un constructor es una función especial que se llama para crear un objeto. Los constructores tienen varias características únicas que les permiten funcionar.





En Java, el nombre de un constructor se basa en su clase. Un constructor es un método, definido en la clase a la que se aplica. Los constructores de Java pueden utilizar la sobrecarga para proporcionar un comportamiento alternativo. Los constructores en Java también pueden hacer uso de la herencia para reutilizar el código.





¿Por qué necesita constructores de todos modos?

Los constructores son un pilar de la programación orientada a objetos y Java no es una excepción. Este ejemplo muestra cómo puede definir una clase Circle básica con una propiedad de datos y un método:





|_+_|

Luego puede crear una instancia de esta clase e interactuar con ella:

|_+_|

Pero esto es menos conveniente y robusto de lo que podría ser. Es una buena práctica orientada a objetos encapsular datos, protegiéndolos del acceso no autorizado:



|_+_|

Ahora el código de llamada puede usar el setRadius método y no tener que preocuparse por los detalles de su implementación:

12 pro max vs 12 pro
|_+_|

Los constructores ofrecen una forma aún mejor de suministrar datos a un objeto cuando lo crea. Se utilizan muy a menudo para la inicialización de propiedades, como el radio aquí.





Ejemplos de constructores simples

El constructor más básico es uno sin argumentos, que no hace nada:

|_+_|

Ver también: Aprenda a crear clases en Java





Si no define un constructor, Java proporcionará uno predeterminado que se comporta de la misma manera.

Tenga en cuenta un par de cosas:

  1. El nombre del constructor coincide con el nombre de la clase.
  2. Este constructor usa el público modificador de acceso, por lo que cualquier otro código puede llamarlo.
  3. Un constructor no incluye un tipo de retorno. A diferencia de otros métodos, los constructores no pueden devolver un valor.

Los constructores suelen realizar algún tipo de inicialización. Tenga en cuenta que el código anterior no inicializa el valor de radio. En este caso, el idioma lo pondrá automáticamente en cero. Esta clase espera que un usuario use setRadius () . Para usar un valor predeterminado más útil que 0, puede asignarlo dentro del constructor:

|_+_|

¡Los círculos creados con esta clase al menos ahora tendrán un área real! La persona que llama todavía puede usar setRadius () para proporcionar un radio distinto de 1. Pero el constructor puede ser aún más amigable:

|_+_|

Ahora puedes crear círculos con un radio específico desde el nacimiento:

¿Dónde está mi linterna en este teléfono?
|_+_|

Este es un uso muy común para los constructores. Los utilizará a menudo para inicializar variables en valores de parámetros.

Sobrecarga del constructor

Puede especificar más de un constructor en una definición de clase:

|_+_|

Esto le da al código de llamada una opción de cómo construir objetos:

|_+_|

Con un círculo un poco más complejo, puede explorar constructores más interesantes. Esta versión almacena su posición:

|_+_|

Ahora puede crear un círculo sin argumentos, un solo radio o coordenadas xey junto al radio. Este es el mismo tipo de sobrecarga que soporta Java para cualquier método.

Encadenamiento de constructores

¿Qué tal crear un círculo basado en otro? Esto nos daría la posibilidad de copiar círculos fácilmente. Observe el siguiente bloque:

|_+_|

Esto funcionará, pero repite algunos códigos innecesariamente. Dado que la clase Circle ya tiene un constructor que maneja las propiedades individuales, puede llamarlo en su lugar usando el esta palabra clave:

|_+_|

Esta es una forma de encadenamiento de constructores, llamando a un constructor desde otro. Utiliza menos código y ayuda a centralizar una operación en lugar de duplicarla.

Llamar al constructor principal

La otra forma de encadenamiento de constructores ocurre cuando un constructor llama a un constructor de su clase padre. Esto puede ser explícito o implícito. Para llamar a un constructor padre explícitamente, use el súper palabra clave:

|_+_|

Imagina una clase Shape que actúa como padre del Círculo:

|_+_|

Maneja el posicionamiento común para todas las formas, ya que esta es una funcionalidad que todos comparten. Ahora la clase Circle puede delegar el manejo de posiciones a su padre:

|_+_|

La construcción de superclase es un aspecto muy importante de herencia en Java . El idioma lo aplica de forma predeterminada si no llama explícitamente súper en sus constructores.

Modificadores de acceso en constructores

Los constructores pueden incluir un modificador de acceso en su firma. Al igual que otros métodos, esto define qué tipos de llamadores pueden acceder al constructor:

|_+_|

Este es un ejemplo más complicado, así que tenga cuidado de entenderlo:

  • La clase no es abstracta, por lo que es posible crear una instancia de ella.
  • El constructor es privado, por lo que solo esta clase puede crear una nueva instancia.
  • A través de una propiedad y un método estáticos, la clase expone una instancia única de sí misma a los llamadores.

Utilice constructores en Java para crear objetos

Los constructores son vitales para la programación orientada a objetos. Te permiten crear objetos, ¡lo cual es esencial!

En Java, los constructores se parecen a otros métodos y funcionan de la misma manera. Debe recordar las reglas especiales sobre los constructores predeterminados, la sobrecarga y el encadenamiento de constructores. Si los constructores son nuevos para usted, es posible que desee leer sobre los otros conceptos básicos de Java que debe aprender al comenzar.

Cuota Cuota Pío Correo electrónico 10 conceptos básicos de Java que debe aprender al comenzar

Ya sea que esté escribiendo una GUI, desarrollando software del lado del servidor o una aplicación móvil con Android, aprender Java le será de gran utilidad. A continuación, se muestran algunos conceptos básicos de Java que le ayudarán a empezar.

Leer siguiente
Temas relacionados
  • Programación
  • Java
  • Consejos de codificación
Sobre el Autor Bobby Jack(58 Artículos publicados)

Bobby es un entusiasta de la tecnología que trabajó como desarrollador de software durante la mayor parte de dos décadas. Es un apasionado de los juegos, trabaja como editor de reseñas en Switch Player Magazine y está inmerso en todos los aspectos de la publicación en línea y el desarrollo web.

cómo borrar lo visto recientemente en netflix
Más de Bobby Jack

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse