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("") # ვალიდაციით სეტერის მაგალითი
გეტერებისა და სეტერების გამოყენება ხელს უწყობს ინკაპსულაციას, საშუალებას აძლევს მართოს მონაცემების წვდომა და ცვლილება ობიექტის შიგნით, რაც უზრუნველყოფს კოდის უკეთეს სტრუქტურას და შენარჩუნებას.