English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事では、拡張関数を使用して機能を追加したクラスを拡張する方法について学びます。
新しい機能を持つクラスを拡張する必要がある場合、多くのプログラミング言語では、以下のいずれかの方法を使用します。新しいクラスを派生しますあるいは、某种デザインパターンを使用してこの操作を実行します。
しかし、Kotlinでは、拡張関数を使用して機能を追加したクラスを拡張することもできます。基本的には、拡張関数はクラスの外部で定義されたクラスのメンバーファンクションです。
例えば、次のようにする必要がありますStringクラスこの方法は、最初と最後の文字を削除した新しい文字列を返す方法です。この方法はStringクラスには存在しません。拡張関数を使用してこのタスクを完了することができます。
fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array<String>) { val myString = "Hello Everyone" val result = myString.removeFirstLastChar() println("出力結果: $result") }
このプログラムを実行すると、出力されます:
出力結果: ello Everyon
ここでは、エクステンション関数removeFirstLastChar ()がStringクラスに追加されます。
クラス名はリシーバータイプ(私たちの例ではStringクラス)です。エクステンション関数内のthisキーワードはリシーバーオブジェクトを参照します。
KotlinをJavaプロジェクトに統合する必要がある場合は、コード全体をKotlinに変更する必要はありません。機能を追加するためにエクステンション関数を使用してください。