Sobes.tech
Junior

როგორ განვახორციელოთ რამდენიმე კონსტრუქტორი ერთ კლასში Kotlin-ში?

sobes.tech AI

პასუხი AI-სგან

Kotlin-შეიძლება კლასი ჰქონდეს ერთი ძირითადი კონსტრუქტორი და ერთი ან რამდენიმე დამატებითი კონსტრუქტორი.

  1. ძირითადი კონსტრუქტორი: განსაზღვრულია კლასის სათაურში. შეიძლება ჰქონდეს პარამეტრები.

    class ჩემიკლასი(private val რამეგანსაკუთრებული: String) { // ძირითადი კონსტრუქტორი პარამეტრით
        // კლასი სხეული
    }
    
  2. დამატებითი კონსტრუქტორები: გამოაცხადება სიტყვით constructor. თუ კლასი აქვს ძირითადი კონსტრუქტორი, თითოეული დამატებითი კონსტრუქტორი პირდაპირ ან ირიბად უნდა გადაეცეს მას this()-ის გამოყენებით.

    class სხვაკლასი(private val ძირითადიმნიშვნელობა: Int) { // ძირითადი კონსტრუქტორი
    
        constructor სხვა მნიშვნელობა: String) : this(სხვა მნიშვნელობა.length) { // დამატებითი კონსტრუქტორი, რომელიც გადადის ძირითდზე
            // დამატებითი კონსტრუქტორის ლოგიკა
            println("შექმნილია სტრინგით: $სხვა მნიშვნელობა")
        }
    
        constructor(მნიშვნელობა1: Int, მნიშვნელობა2: Int) : this(მნიშვნელობა1 + მნიშვნელობა2) { // სხვა დამატებითი
            // ლოგიკა
            println("შექმნილია ორი მთელი რიცხვით: $მნიშვნელობა1, $მნიშვნელობა2")
        }
    }
    

თუ ძირითადი კონსტრუქტორი არ არის, დამატებითი კონსტრუქტორები არ არიან ვალდებულნი გადაეცეს სხვა კონსტრუქტორებს იმავე კლასში (მაგრამ შეუძლიათ).

class გარეშეძირითადი {

    constructor(მნიშვნელობა: Int) {
        println("შექმნილია მთელი რიცხვით: $მნიშვნელობა")
    }

    constructor(მნიშვნელობა: String) {
        println("შექმნილია სტრინგით: $მნიშვნელობა")
    }
}