如何在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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP