Classes e Objetos

Classes e Objetos

> Tutorial LeekScript

Bem-vindo à documentação sobre programação orientada a objetos (OOP), que consiste em criar classes e objetos para organizar seu código. Este recurso foi adicionado de LeekScript 2.

Objetos

Objetos são valores que agrupam vários valores, cada um associado a um nome. Esses valores são chamados de propriedades ou campos.

Criando um objeto

Para criar um objeto, usamos a seguinte sintaxe:

Neste exemplo, o objeto object tem duas propriedades, name e age.

Para criar um objeto vazio:

Acesso a uma propriedade

O ponto . permite acesso a uma propriedade de um objeto:

Existe uma sintaxe alternativa: object["prop"], permitindo usar um valor de string para acessar uma propriedade:

Modificando uma propriedade

Uma vez acessada, uma propriedade pode ser modificada como uma variável normal:

Comparação de objetos

Os operadores == e === comparam apenas se o objeto for o mesmo. Eles retornam false mesmo que os dois objetos tenham as mesmas propriedades:

NB: === está obsoleto começando com LeekScript 4.

Lista de propriedades

Aulas

Uma classe é um modelo para criar objetos.

Definindo uma classe

Definimos uma classe Weapon com os 4 campos nomeados desta forma:

Criando um objeto com uma classe

O new é realmente opcional, uma classe é semelhante a uma função e pode ser chamada diretamente para criar um objeto:

Você pode recuperar a classe de um objeto usando .class:

instancia de

A palavra-chave instanceof é usada para verificar se um objeto é uma instância de uma classe:

Construtores

Um construtor é uma função definida em uma classe que permite criar um objeto a partir de uma lista de parâmetros. Definimos um construtor assim:

Usando um construtor:

Métodos

Um método é uma função definida em uma classe e utilizável em um objeto dessa classe. Definimos um método como este:

Usamos um método com a sintaxe:

A sintaxe object["member"] também funciona:

Não é aconselhável usá-lo, o risco de errar é muito grande.

Sobrecarga

É possível sobrecarregar métodos simplesmente alterando o número de parâmetros

Você pode usar o método com um ou dois parâmetros de sua escolha:

Legado

A noção de herança permite criar uma hierarquia de classes. Usamos essa sintaxe com a palavra-chave extends. Estamos tentando declarar uma classe "base" a partir da qual outras classes podem ser construídas. As classes que herdam recebem todos os membros (variáveis) e métodos (funções) da classe base e podem redefini-los ou adicionar novos