PHP में OOP में सेटर और गेटर के फायदे

पिछले पाठ में, हमने प्रत्येक गुण के लिए एक गेटर और सेटर बनाया। सवाल उठ सकता है कि इन जटिलताओं की क्या जरूरत है, क्योंकि वास्तव में वही प्रभाव प्राप्त किया जा सकता है यदि गुणों को निजी के बजाय सार्वजनिक बना दिया जाए।

बात यह है कि गेटर और सेटर के फायदे हैं: गुण तक पहुंचने से पहले कुछ जांचें की जा सकती हैं। उदाहरण के लिए, हमारे मामले में, नाम और उपनाम लिखते समय, हम जांच सकते हैं कि नया मान खाली स्ट्रिंग तो नहीं है:

php<?php
  class User {
    private $name;
    private $surn;
    
    public function setName($name) {
      if (strlen($name) > 0) {
        $this->name = $name;
      } else {
        echo 'name is incorrect';
      }
    }
    
    public function setSurn($surn) {
      if (strlen($surn) > 0) {
        $this->surn = $surn;
      } else {
        echo 'surn is incorrect';
      }
    }
    
    public function getName() {
      return $this->name;
    }
    
    public function getSurn() {
      return $this->surn;
    }
  }
?>

आइए जांचते हैं कि यह कैसे काम करता है। सबसे पहले, वर्ग की एक वस्तु बनाएं:

php<?php
  $user = new User();
?>

अब सही मान लिखने का प्रयास करते हैं:

php<?php
  $user->setName('john');
?>

और अब गलत मान लिखने का प्रयास करते हैं:

php<?php
  $user->setName(''); // त्रुटि
?>
Задание 1

Employee वर्ग में, सेटर में उम्र की जांच करें कि उम्र 0 से 120 के बीच होनी चाहिए।

Задание 2

Employee वर्ग में, गेटर में वेतन के लिए ऐसा करें कि वेतन पढ़ते समय, उसके मान के अंत में डॉलर का चिह्न जोड़ा जाए।