Sobes.tech
Intern

რა არის getter და setter?

sobes.tech AI

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

გეტერი (getter) და სეტერი (setter) არის სპეციალური მეთოდები, რომლებიც ობიექტზე ორიენტირებულ პროგრამირებაში გამოიყენება კლასის პირად (ან დაცულ) ველების მნიშვნელობების მისაწვდომად და შეცვლად.

გეტერი:

  • უზრუნველყოფს კონტროლირებად წვდომას ველის მნიშვნელობის წასაკითხად.
  • ჩვეულებრივ აქვს სახელი, რომელიც იწყება get-ით (მაგალითად, getName()).
  • შეიძლება დამატებითი მოქმედებები შეასრულოს მნიშვნელობის დაბრუნებამდე (მაგალითად, ფორმატირება ან ვალიდაცია).

სეტერი:

  • უზრუნველყოფს კონტროლირებად წვდომას ახალი მნიშვნელობის ჩაწერაზე ველზე.
  • ჩვეულებრივ აქვს სახელი, რომელიც იწყება set-ით (მაგალითად, setName()).
  • შეიძლება შესრულდეს შემოსული მონაცემების ვალიდაცია მნიშვნელობის მითითებამდე.
  • საშუალებას აძლევს ლოგიკის განხორციელებას ველის მნიშვნელობის ცვლილებისას (მაგალითად, სხვა ნაწილების შეტყობინება).

Python-ის მაგალითი:

class Person:
    def __init__(self, name):
        self._name = name # პირადი ველი

    # გეტერი
    def get_name(self):
        return self._name

    # სეტერი
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("არასწორი სახელი")

# გამოყენება
person = Person("Alice")
print(person.get_name()) # გეტერის გამოყენება

person.set_name("Bob") # სეტერის გამოყენება
print(person.get_name())

person.set_name("") # ვალიდაციით სეტერის მაგალითი

გეტერებისა და სეტერების გამოყენება ხელს უწყობს ინკაპსულაციას, საშუალებას აძლევს მართოს მონაცემების წვდომა და ცვლილება ობიექტის შიგნით, რაც უზრუნველყოფს კოდის უკეთეს სტრუქტურას და შენარჩუნებას.