如何在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 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告