Monday, March 29, 2021

Lập trình kotlin - Constructor trong kotlin

Trong chương này, chúng ta sẽ tìm hiểu về các hàm tạo trong Kotlin. Kotlin có hai loại constructor - một là primary constructor và một là secondary constructor. Một lớp Kotlin có thể có một hàm tạo chính và một hoặc nhiều hàm tạo phụ. 

Lập trình kotlin

Hàm tạo Java khởi tạo các biến thành viên, tuy nhiên, trong Kotlin, hàm tạo chính khởi tạo lớp, trong khi hàm tạo thứ cấp giúp bao gồm một số logic bổ sung trong khi khởi tạo giống nhau. Phương thức khởi tạo chính có thể được khai báo ở mức tiêu đề lớp như trong ví dụ sau.

class Person(val firstName: String, var age: Int) {

   // class body

}

Trong ví dụ trên, chúng ta đã khai báo hàm tạo chính bên trong dấu ngoặc. Trong số hai trường, tên ở chế độ chỉ đọc vì nó được khai báo là “val”, trong khi tuổi trường có thể được chỉnh sửa. Trong ví dụ sau, chúng ta sẽ sử dụng hàm tạo chính.

fun main(args: Array<String>) {

   val person1 = Person("TutorialsPoint.com", 15)

   println("First Name = ${person1.firstName}")

   println("Age = ${person1.age}")

}

class Person(val firstName: String, var age: Int) {

}

Như đã đề cập trước đó, Kotlin cho phép tạo một hoặc nhiều hàm tạo thứ cấp cho lớp của bạn. Hàm tạo phụ này được tạo bằng cách sử dụng từ khóa “hàm tạo”. Nó được yêu cầu bất cứ khi nào bạn muốn tạo nhiều hơn một hàm tạo trong Kotlin hoặc bất cứ khi nào bạn muốn bao gồm nhiều logic hơn trong hàm tạo chính và bạn không thể làm điều đó vì hàm tạo chính có thể được gọi bởi một số lớp khác. Hãy xem ví dụ sau, nơi chúng tôi đã tạo một phương thức khởi tạo phụ và đang sử dụng ví dụ trên để triển khai tương tự.

fun main(args: Array<String>) {

   val HUman = HUman("TutorialsPoint.com", 25)

   print("${HUman.message}"+"${HUman.firstName}"+

      "Welcome to the example of Secondary  constructor, Your Age is-${HUman.age}")

}

class HUman(val firstName: String, var age: Int) {

   val message:String  = "Hey!!!"

constructor(name : String , age :Int ,message :String):this(name,age) {

   }

}

No comments:

Post a Comment