チェーンメソッド

Android Kotlinにおけるチェーンメソッドの活用

#Android
writtdden by 上様

こんにちは
Androidエンジニア見習い 上様です。

新年を迎え、今年の抱負は「抱負を忘れない」、「脱、三日坊主」にしようと決めました。笑

 

そんな中、見習いの僕は引き続きKotlinの学習を続けております!!

以前の記事は、アーキテクチャについて学んだことを共有しておりますのでそちらもご覧ください

【Kotlin】Androidアプリ開発のためのMVPアーキテクチャガイド

Android Javaを学んでいたこともあり、事前準備としてはバッチリだと思いたい。笑
Kotlinでのアプリ開発で疑問に思い、今回学習したチェーンメソッドとは、なんぞや!という課題に対して学習した内容を共有させていただきます!!

概要:チェーンメソッドとは

チェーンメソッドは、複数のメソッドをドット(.)でつなげて一連の処理を行う手法1つ。これにより、コードが簡潔で見やすく省略することができます。

基本的なチェーンメソッドの構造

どのようにチェーンメソッドを利用するかを以下の例で見ていきます

class User {
 var name: String = ""
 var age: Int = 0


 fun setName(name: String): User {
  this.name = name
  return this
 }

 fun setAge(age: Int): User {
  this.age = age
  return this
 }
}

fun main() {
 val user = User()
 .setName("田中 太郎")
 .setAge(23)

 println("Name: ${user.name}, Age: ${user.age}")
}

この例について解説いたします。
Userクラスに対してsetId、setName、setAgeのチェーンメソッドを呼び出しています。これにより、一貫性のある操作が行われ、スムーズに処理を行えます。

チェーンメソッドの活用についての注意点

チェーンメソッドを使用する際には、過度にメソッドを連鎖させることで可読性が損なわれる可能性があるため注意が必要で、見極めが極めて重要となってきます。

Android Kotlinにおいてチェーンメソッドを活用することで、コードの可読性向上や柔軟なコーディングが可能となります。実際の例を通じて、チェーンメソッドの基本的な使い方や注意点を理解し、効果的に活用できるようになりましょう。

番外編:Javaで同じ内容の実装をした場合の比較

Javaで上記コードを実装した場合以下の処理になります。

public class User {
 private String name;
 private int age;

 public User setName(String name) {
  this.name = name;
  return this;
 }

 public User setAge(int age) {
  this.age = age;
  return this;
 }

 public static void main(String[] args) {
  User user = new User()
  .setName("田中 太郎")
  .setAge(23);

 System.out.println("Name: " + user.getName() + ", Age: " + user.getAge());
 }
}

実際に書いてみると違いがわかりやすいですね。

比較:Kotlinでの実装とJavaでの実装での違いについて

比較した後の内容について解説していきます

1.メソッドの戻り値の型の指定

Kotlinではメソッドの戻り値の型を指定する必要がありますが、Javaではメソッドの戻り値の型を省略できます。
Kotlinでは

fun setName(name: String): User

Javaでは

public User setName(String name)

2. プロパティの宣言

Kotlinではvarを使用して宣言します

Javaではprivateを使用して宣言します。

3. 文字列の結合部分

Kotlinでは文字列の結合に${}を使用します

Javaでは+演算子を使用します

4.インスタンスの生成について

Kotlinではval user = User()と書きます

JavaではUser user = new User()と書きます

まとめ

Androidアプリケーション開発においてそれぞれ利点を持っています。
Kotlinは簡潔で可読性があり、 単体テストが作りやすい仕様が多く、今後も広く使われる言語となっております。
チェーンメソッドを活用するにあたって、すべて活用するのではなく最適なタイミングで使用することが重要となってくるわけですね。
寒さも本格的になってきましたが、体調などお気をつけてお過ごしください‼

それではまた会いましょう!ドロン

Favorite