この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
#14:Kotlinの拡張機能:アドオンでクラスを強化
Kotlinは、JVM、Android、およびブラウザ用の静的型プログラミング言語です。相互運用性、安全性、ツールサポート、簡潔な構文で有名です。
Kotlinの最も強力な機能の1つは拡張機能です。拡張関数は、既存のクラスから継承されずに追加される関数です。つまり、クラス自体を変更しなくても、既存のクラスに新しい機能を追加できます。
この記事では、拡張機能の作成方法と既存のクラスの拡張に使用できる方法について説明します。
拡張機能を作成するのは簡単です。関数名の前に拡張したいクラス名を付けてからピリオドを取るだけです。たとえば、 string
クラスに print()
メソッドを追加する拡張関数を作成するには、次のようにします。
fun String.print() {
println(this)
}
これで、すべての文字列で print()
メソッドを呼び出すことができます。
"Hello, world!".print() // prints "Hello, world!"
ご覧のとおり、拡張関数は既存のクラスに新しい機能を追加する良い方法です。
拡張関数は、制御できないクラスに新しいメソッドを追加したい場合に特に便利です。たとえば、 User
クラスを持つライブラリを使用していますが、ここに getFullName()
メソッドを追加したいとします。拡張機能を使用すると、 User
クラス自体を変更することなくこれを行うことができます。
まず User
クラスを定義しましょう。
class User(val firstName: String, val lastName: String)
これで、User
クラスにgetFullName()
メソッドを追加する拡張関数を作成できるようになりました。
fun User.getFullName(): String {
return "$firstName $lastName"
}
これで User
オブジェクトを作成し、ここで getFullName()
メソッドを呼び出すことができます。
val user = User("John", "Smith")
println(user.getFullName()) // プリント "John Smith"
ご覧のとおり、拡張機能は、クラス自体を変更せずに既存のクラスに新しいメソッドを追加するのに最適な方法です。
##結論
この記事では、Kotlinの拡張機能について説明しました。拡張関数を作成する方法と、拡張関数を使用して既存のクラスに新しいメソッドを追加する方法について説明しました。