Junior — Middle
როგორ შეუძლია გარეგან კოდს შეცვალოს კლასი?
sobes.tech AI
პასუხი AI-სგან
გარე კოდი შეიძლება შეცვალოს კლასის მდგომარეობა რამდენიმე გზით:
- საზოგადო მეთოდების (setters) მეშვეობით — კლასი უზრუნველყოფს მეთოდებს თავისი ველების შეცვლისთვის, მაგალითად
setName(String name). - საზოგადო ველების მეშვეობით — თუ კლასის ველები გამოაცხადეს როგორც
public, გარე კოდი შეიძლება პირდაპირ შეცვალოს ისინი (არასასურველია ინკაპსულაციის დარღვევის გამო). - პროექტირების ნიმუშების გამოყენებით — მაგალითად, Builder ნიმუშის ან მეთოდების მეშვეობით, რომლებიც აბრუნებენ შეცვლად ობიექტებს.
Kotlin (Android) მაგალითი:
class User {
var name: String = ""
private set // აკრძალულია პირდაპირი გარე ცვლილება
fun updateName(newName: String) {
name = newName
}
}
val user = User()
user.updateName("Иван") // მდგომარეობის შეცვლა მეთოდის მეშვეობით
საუკეთესო მიდგომა არის კონტროლირებადი წვდომის უზრუნველყოფა მდგომარეობის ცვლილებაზე კლასის მეთოდების მეშვეობით, ინკაპსულაციის შენარჩუნებით.