Constructores
Explicación de los tipos de constructores.
DEFINICIÓN
Si se fija, en el ejemplo superior estamos llamando a una función para inicializar nuestra variable.
Esta función especial que inicializa una instancia de una clase se llama constructor.
Sí no se provee un constructor a la clase (como era el caso en nuestra clase Slime, el compilador genera uno sin parámetro por defecto. Como el del ejemplo.
Los constructores pueden ser primarios o secundarios.
CONSTRUCTOR PRIMARIO
El constructor primario es parte de la cabecera de una clase. Este recibe como argumentos, aquellos datos que necesitas explícitamente para inicializar las propiedades al crear el objeto.
El constructor utiliza la palabra reservada constructor
. Sin embargo, si no tiene anotaciones ni modificadores, se puede omitir.
Bloques de inicialización
Los bloques de inicialización permiten añadir lógica a la inicialización de las propiedades.
Su sintaxis es la siguiente:
Visibilidad del constructor
El constructor, igual que la clase en sí se puede modificar con los modificadores de visibilidad de Kotlin:
private
: Marca una declaración como visible en la clase o archivo actual.protected
: Marca una declaración como visible en la clase y subclases de la misma.internal
: Marca una declaración como visible en el módulo actual.public
: Marca una declaración como visible en todas partes.
CONSTRUCTOR SECUNDARIO
Si la lista de argumentos del constructor primario no satisface, en algun caso, la creación de objetos, se pueden crear constructores secundarios dentro del cuerpo de la clase.
Un ejemplo que podría darse en nuestro caso:
Constructor primario solo para el nombre.
Constructor secundario si me dan nombre y otros dos argumentos (hp y ap).
Se pueden tener tantos constructores secundarios como sean necesarios. Sin embargo, el ejemplo anterior se podría haber realizado igual de bien con un constructor primario y un bloque init:
Y con eso hecho, si inicializamos un objeto de ésta clase intentando abusar recibiré lo siguiente:
Last updated