Clases y Objetos

Clases y Objetos

> Tutorial de LeekScript

Bienvenido a la documentación sobre programación orientada a objetos (POO) que consiste en crear clases y objetos para organizar tu código. Esta función se agregó desde LeekScript 2.

Objetos

Los objetos son valores que agrupan varios valores cada uno asociado a un nombre. Estos valores se denominan propiedades o campos.

Creando un objeto

Para crear un objeto, usamos la siguiente sintaxis:

En este ejemplo, el objeto 'objeto' tiene dos propiedades, 'nombre' y 'edad'.

Para crear un objeto vacío:

Acceso a una propiedad

El punto . permite acceder a una propiedad de un objeto:

Existe una sintaxis alternativa: object["prop"], que permite usar un valor de cadena para acceder a una propiedad:

Modificando una propiedad

Una vez accedida, una propiedad se puede modificar como una variable normal:

Comparación de objetos

Los operadores == y === solo comparan si el objeto es el mismo. Devuelven falso incluso si los dos objetos tienen las mismas propiedades:

Lista de propiedades

Clases

Una clase es un modelo para crear objetos.

Definición de una clase

Definimos una clase Arma con los 4 campos nombrados de esta manera:

Creando un objeto con una clase

El nuevo es en realidad opcional, una clase es similar a una función y se puede llamar directamente para crear un objeto:

Puedes recuperar la clase de un objeto usando .class:

en vez de

La palabra clave instanceof se utiliza para comprobar si un objeto es una instancia de una clase:

Constructores

Un constructor es una función definida en una clase que permite crear un objeto a partir de una lista de parámetros. Definimos un constructor así:

Usando un constructor:

Métodos

Un método es una función definida en una clase y utilizable en un objeto de esta clase. Definimos un método como este:

Usamos un método con la sintaxis:

La sintaxis objeto["miembro"] también funciona:

No es recomendable usarlo, el riesgo de cometer un error es bastante fuerte.

Sobrecarga

Es posible sobrecargar métodos simplemente cambiando el número de parámetros

A continuación, puede utilizar el método con uno o dos parámetros de su elección:

Legado

La noción de herencia hace posible crear una jerarquía de clases. Usamos esta sintaxis con la palabra clave extends. Estamos tratando de declarar una clase "base" a partir de la cual se pueden construir otras clases. Las clases que heredan reciben todos los miembros (variables) y métodos (funciones) de la clase base y pueden redefinirlos o agregar otros nuevos.

```leekscript elemento de clase { identificación apellido costo daño }