如何在Kotlin中實現構建器模式?


在面向物件程式設計中,當物件定義很簡單時,透過建構函式建立物件非常容易,但是有時,建構函式可能需要更多變數或函式來初始化物件。在這種情況下,“構建器模式”就派上用場了,它可以幫助程式設計師建立不同物件的單元,並最終建立一個完整的物件。

  • 構建器模式提供了一個逐步構建物件的API。

  • 當需要動態建立物件時,構建器模式特別有用。

請注意,不建議在Kotlin中使用構建器模式,因為我們可以使用**預設**和**命名**引數獲得相同的功能。

在本文中,我們將透過一個簡單的示例演示如何在Kotlin中實現這種設計模式。

  • 建立一個小的**構建器物件**,它可以在主類中構建,並且**構建器類**應該有一個公共建構函式。

  • 使用多個部分構建物件;一些變數可以使用**getter**、**setter**設定,一些變數透過建構函式設定。

  • 構建器設計模式提供了一個建立物件的API。我們建立了**build()**來構建實際需要的物件。我們可以根據需要將其命名為其他名稱。

  • **主類建構函式**將**構建器**物件作為引數。

示例

class myBuilder{
  private var Name:String? = null

   fun setName(Name:String){
      this.Name = Name
   }
   fun getName():String?{
      return this.Name
   }
}

class myClass{
   var m:myBuilder
   constructor(myBuilder:myBuilder) {
      this.m = myBuilder
   } // implementing the builder class
   fun build():String{
      return ("This is the example of the builder pattern")
   }
}

fun main(args: Array<String>) {
   var myBuilder = myBuilder()
   myBuilder.setName("TutorialsPoint")

   // passing small unit of objects to create
   // another object step-by-step. This can be
   // applied to many class variable
   var mainObj = myClass(myBuilder)
   println(mainObj.build())
}

輸出

執行後,程式碼將生成以下輸出

This is the example of the builder pattern

更新於:2021年11月23日

774 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.