Junior
როგორ განვახორციელოთ Kotlin-ში რამდენიმე კონსტრუქტორი ერთ კლასში?
sobes.tech AI
პასუხი AI-სგან
კოტლინში რამდენიმე კონსტრუქტორის შექმნა შესაძლებელია ძირითადი კონსტრუქტორის და საჭიროების შემთხვევაში, ერთ ან რამდენიმე მეორეული კონსტრუქტორის გამოყენებით.
ძირითადი კონსტრუქტორი პირდაპირ გამოაცხადება კლასის სათავეში:
class MyClass(primaryParam1: String, primaryParam2: Int) {
// კლასი
}
მეორეული კონსტრუქტორები გამოაცხადება constructor საკვანძო სიტყვით:
class MyClass {
// ძირითადი კონსტრუქტორი (მიუკერძოებელი ან აშკარა)
constructor(param1: String) {
// მეორეული კონსტრუქტორის ლოგიკა 1
}
constructor(param1: String, param2: Int) {
// მეორეული კონსტრუქტორის ლოგიკა 2
}
}
თუ კლასი აქვს ძირითადი კონსტრუქტორი, თითოეული მეორეული კონსტრუქტორი უნდა დელეგირებდეს ძირითადი კონსტრუქტორისკენ, this() გამოყენებით:
class MyClass(primaryParam: String) {
constructor(secondaryParam: Int) : this(secondaryParam.toString()) {
// მეორეული კონსტრუქტორის ლოგიკა
}
}
შეგვიძლია ასევე ჰქონდეს რამდენიმე მეორეული კონსტრუქტორი, რომლებიც დელეგირებენ ძირითადი ან სხვა მეორეულ კონსტრუქტორებს (დელეგირების ჰიერჰიას დაცვით):
class MyClass(primaryParam: String) {
constructor(param1: String, param2: Int) : this(param1) {
// მეორეული კონსტრუქტორის 1 ლოგიკა
}
constructor(param1: String, param2: Int, param3: Boolean) : this(param1, param2) {
// მეორეული კონსტრუქტორის 2 ლოგიკა
}
}
მნიშვნელოვანი მომენტები:
- ძირითადი კონსტრუქტორის სხეული შესრულდება მეორეული კონსტრუქტორების სხეულზე ადრე.
- ძირითადი კონსტრუქტორის სათავეში გამოცხადებული თვისებები ხელმისაწვდომია მეორეული კონსტრუქტორების სხეულში.
- Kotlin-ში რეკომენდებულია გამოიყენოს ძირითადი კონსტრუქტორი და, შესაძლებლობის ფარგლებში, თავიდან აიცილოს მეორეული კონსტრუქტორების გამოყენება, ნაცვლად სახელწოდებით არგუმენტების ან ფაბრიკი მეთოდების გამოყენების.