クラスとオブジェクト

クラスとオブジェクト

> LeekScript チュートリアル

オブジェクト指向プログラミング (OOP) に関するドキュメントへようこそ。これは、コードを整理するためのクラスとオブジェクトの作成で構成されています。この機能は LeekScript 2 から追加されました。

オブジェクト

オブジェクトは、名前に関連付けられた複数の値をグループ化した値です。これらの値は プロパティ または フィールド と呼ばれます。

オブジェクトの作成

オブジェクトを作成するには、次の構文を使用します。

この例では、オブジェクト「object」に「name」と「age」の 2 つのプロパティがあります。

空のオブジェクトを作成するには:

プロパティへのアクセス

ドット . を使用すると、オブジェクトのプロパティにアクセスできます。

別の構文が存在します: object["prop"] を使用すると、文字列値を使用してプロパティにアクセスできます。

プロパティの変更

アクセスすると、プロパティは通常の変数のように変更できます。

オブジェクトの比較

== および === 演算子は、オブジェクトが同じ場合にのみ比較します。 2 つのオブジェクトが同じプロパティを持っていても、これらは「false」を返します。

注意: ===LeekScript 4 から非推奨です。

プロパティのリスト

## クラス

クラスは、オブジェクトを作成するためのモデルです。

クラスの定義

このように名前を付けた 4 つのフィールドを持つ Weapon クラスを定義します。

クラスを持つオブジェクトの作成

new は実際にはオプションです。クラスは関数に似ており、オブジェクトを作成するために直接呼び出すことができます:

.class を使用して、オブジェクトのクラスを取得できます。

インスタンス

instanceof キーワードは、オブジェクトがクラスのインスタンスであるかどうかを確認するために使用されます。

ビルダー

コンストラクターは、パラメーターのリストからオブジェクトを作成できるクラスで定義された関数です。次のようにコンストラクタを定義します。

コンストラクターの使用:

メソッド

メソッドは、クラスで定義され、このクラスのオブジェクトで使用できる関数です。次のようなメソッドを定義します。

次の構文のメソッドを使用します。

object["member"] 構文も機能します:

間違いを犯す危険性が非常に高いため、使用することはお勧めできません。

オーバーロード

パラメータの数を変更するだけでメソッドをオーバーロードできます

次に、選択した 1 つまたは 2 つのパラメーターを使用してメソッドを使用できます。

### 遺産

継承の概念により、クラスの階層を作成できます。この構文は、extends キーワードとともに使用します。他のクラスを構築できる「基本」クラスを宣言しようとしています。継承するクラスは、基本クラスのすべてのメンバー (変数) とメソッド (関数) を受け取り、それらを再定義したり、新しいものを追加したりできます