PHP-ში კლასში კერძო საკუთრების ღირებულების გასაახლებლად, ჩვენ უნდა გამოვიყენოთ getter და setter მეთოდები. კერძო თვისებები პირდაპირ არ არის ხელმისაწვდომი კლასის გარეთ, ამიტომ ჩვენ უნდა განვსაზღვროთ საჯარო მეთოდები კლასში მათი მნიშვნელობების შესაცვლელად.
პირველ რიგში, მოდით განვიხილოთ მარტივი კლასი სახელწოდებით "Person" კერძო საკუთრებით სახელწოდებით "name":
class Person { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } }
ზემოთ მოყვანილ მაგალითში, კერძო საკუთრება `$name` ხელმისაწვდომია მხოლოდ თავად კლასში. მისი მნიშვნელობის წვდომისა და შესაცვლელად, ჩვენ განვსაზღვრეთ ორი საჯარო მეთოდი: `getName()` და `setName($name)`.
`getName()` მეთოდი არის მიმღები მეთოდი, რომელიც აბრუნებს კერძო საკუთრების `$name` მნიშვნელობას. ის არ ცვლის მნიშვნელობას, მაგრამ საშუალებას გვაძლევს დავიბრუნოთ იგი.
`setName($name)` მეთოდი არის სეტერის მეთოდი, რომელიც იღებს არგუმენტს `$name` და ანიჭებს მას კერძო თვისებას `$name`. ეს საშუალებას გვაძლევს განვაახლოთ კერძო საკუთრების ღირებულება კლასის გარედან.
აქ არის მაგალითი იმისა, თუ როგორ შეგვიძლია გამოვიყენოთ ეს მიმღები და სეტერი მეთოდები კერძო საკუთრების ღირებულების გასაახლებლად:
$person = new Person(); $person->setName("John Doe"); echo $person->getName(); // Output: John Doe $person->setName("Jane Smith"); echo $person->getName(); // Output: Jane Smith
ზემოთ მოყვანილ მაგალითში ჩვენ ვქმნით `Person` კლასის ახალ ეგზემპლარს და ვაყენებთ სახელს `setName()` მეთოდის გამოყენებით. შემდეგ ვიღებთ განახლებულ სახელს `getName()` მეთოდის გამოყენებით და ვაჩვენებთ მას.
Getter-ისა და Setter-ის მეთოდების გამოყენებით, ჩვენ შეგვიძლია დავრწმუნდეთ, რომ კლასის კერძო თვისებების წვდომა და შეცვლა ხდება კონტროლირებადი გზით. ეს ინკაფსულაცია ხელს უწყობს კლასის მთლიანობის შენარჩუნებას და ხელს უშლის კლასის გარედან კერძო საკუთრების პირდაპირ მანიპულირებას.
PHP-ში კლასში კერძო საკუთრების მნიშვნელობის გასაახლებლად, კლასში უნდა განვსაზღვროთ საჯარო მიმღების და სეტერის მეთოდები. getter მეთოდი იბრუნებს კერძო საკუთრების ღირებულებას, ხოლო setter მეთოდი საშუალებას გვაძლევს შევცვალოთ მისი მნიშვნელობა. ამ მეთოდების გამოყენებით ჩვენ შეგვიძლია განაახლონ კერძო საკუთრება კონტროლირებადი გზით.
სხვა ბოლოდროინდელი კითხვები და პასუხები კლასები და ობიექტები PHP- ში:
- რა არის რეკომენდებული მიდგომა კლასში თვისებების წვდომისა და შესაცვლელად?
- რა სარგებელი მოაქვს კლასში გეტერებისა და სეტერების გამოყენებას?
- როგორ შეგვიძლია მივიღოთ კერძო საკუთრების ღირებულება კლასში?
- რა არის კლასში თვისებების კერძო გახდომის მიზანი?
- რა არის კონსტრუქტორის ფუნქცია PHP კლასებში და რა არის მისი მიზანი?
- რა არის მეთოდები PHP კლასებში და როგორ განვსაზღვროთ მათი ხილვადობა?
- რა არის თვისებები PHP კლასებში და როგორ განვსაზღვროთ მათი ხილვადობა?
- როგორ შევქმნათ ობიექტი კლასიდან PHP-ში?
- რა არის კლასი PHP-ში და რა მიზანს ემსახურება იგი?