ਇੱਕ ਕਲਾਸ ਵਿੱਚ ਇੱਕ ਨਿੱਜੀ ਜਾਇਦਾਦ ਦੇ ਮੁੱਲ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਲਈ, ਸਾਨੂੰ ਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਵਿੱਚ ਇਨਕੈਪਸੂਲੇਸ਼ਨ ਦੀ ਧਾਰਨਾ ਨੂੰ ਸਮਝਣ ਦੀ ਲੋੜ ਹੈ। ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਇੱਕ ਬੁਨਿਆਦੀ ਸਿਧਾਂਤ ਹੈ ਜੋ ਸਾਨੂੰ ਕਲਾਸ ਦੇ ਮੈਂਬਰਾਂ, ਜਿਵੇਂ ਕਿ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਵਿਧੀਆਂ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। PHP ਵਿੱਚ, ਅਸੀਂ ਐਕਸੈਸ ਮੋਡੀਫਾਇਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਨਕੈਪਸੂਲੇਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ।
PHP ਵਿੱਚ, ਸਾਡੇ ਕੋਲ ਤਿੰਨ ਐਕਸੈਸ ਮੋਡੀਫਾਇਰ ਹਨ: ਜਨਤਕ, ਸੁਰੱਖਿਅਤ ਅਤੇ ਨਿੱਜੀ। ਜਨਤਕ ਸੰਪਤੀਆਂ ਅਤੇ ਵਿਧੀਆਂ ਨੂੰ ਕਿਸੇ ਵੀ ਥਾਂ ਤੋਂ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਸੁਰੱਖਿਅਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਵਿਧੀਆਂ ਨੂੰ ਸਿਰਫ਼ ਕਲਾਸ ਜਾਂ ਇਸਦੇ ਉਪ-ਕਲਾਸਾਂ ਦੇ ਅੰਦਰ ਹੀ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਦੂਜੇ ਪਾਸੇ, ਨਿੱਜੀ ਸੰਪਤੀਆਂ ਅਤੇ ਢੰਗਾਂ ਨੂੰ ਸਿਰਫ਼ ਉਸ ਸ਼੍ਰੇਣੀ ਦੇ ਅੰਦਰ ਹੀ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਜਿੱਥੇ ਉਹਨਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ।
ਇੱਕ ਕਲਾਸ ਵਿੱਚ ਇੱਕ ਨਿੱਜੀ ਜਾਇਦਾਦ ਦੇ ਮੁੱਲ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਲਈ, ਅਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਗੈਟਰ ਅਤੇ ਸੇਟਰ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਇੱਕ ਨਿਜੀ ਜਾਇਦਾਦ ਦੇ ਮੁੱਲ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲਾ ਤਰੀਕਾ ਜ਼ਿੰਮੇਵਾਰ ਹੁੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਇੱਕ ਸੇਟਰ ਵਿਧੀ ਇੱਕ ਨਿੱਜੀ ਜਾਇਦਾਦ ਦੇ ਮੁੱਲ ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਆਓ ਇੱਕ ਉਦਾਹਰਨ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੀਏ:
php class MyClass { private $myPrivateProperty; public function getMyPrivateProperty() { return $this->myPrivateProperty; } public function setMyPrivateProperty($value) { $this->myPrivateProperty = $value; } } $obj = new MyClass(); $obj->setMyPrivateProperty('Hello, World!'); echo $obj->getMyPrivateProperty(); // Output: Hello, World!
ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਵਿੱਚ, ਸਾਡੇ ਕੋਲ ਇੱਕ ਨਿੱਜੀ ਜਾਇਦਾਦ `$myPrivateProperty` ਦੇ ਨਾਲ `MyClass` ਨਾਮਕ ਇੱਕ ਕਲਾਸ ਹੈ। ਅਸੀਂ ਕ੍ਰਮਵਾਰ ਨਿਜੀ ਜਾਇਦਾਦ ਦੇ ਮੁੱਲ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਅਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਗੈਟਰ ਅਤੇ ਸੇਟਰ ਵਿਧੀਆਂ (`getMyPrivateProperty` ਅਤੇ `setMyPrivateProperty`) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਹੈ।
ਨਿੱਜੀ ਜਾਇਦਾਦ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ, ਅਸੀਂ ਕਲਾਸ (`$obj`) ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਬਣਾਉਂਦੇ ਹਾਂ ਅਤੇ ਇੱਕ ਮੁੱਲ ਸੈੱਟ ਕਰਨ ਲਈ ਸੇਟਰ ਵਿਧੀ (`setMyPrivateProperty`) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਫਿਰ, ਅਸੀਂ ਮੁੱਲ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਆਉਟਪੁੱਟ ਵਿੱਚ ਈਕੋ ਕਰਨ ਲਈ ਗੈਟਰ ਵਿਧੀ (`getMyPrivateProperty`) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ।
ਗੈਟਰ ਅਤੇ ਸੇਟਰ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਨਿਯੰਤਰਣ ਕਰ ਸਕਦੇ ਹਾਂ ਕਿ ਨਿੱਜੀ ਜਾਇਦਾਦ ਨੂੰ ਕਿਵੇਂ ਐਕਸੈਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਸੋਧਿਆ ਜਾਂਦਾ ਹੈ। ਅਸੀਂ ਇਹਨਾਂ ਤਰੀਕਿਆਂ ਦੇ ਅੰਦਰ ਵਾਧੂ ਤਰਕ ਜਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਜੋੜ ਸਕਦੇ ਹਾਂ ਤਾਂ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ ਕਿ ਸੰਪੱਤੀ ਤੱਕ ਪਹੁੰਚ ਕੀਤੀ ਗਈ ਹੈ ਅਤੇ ਸਹੀ ਢੰਗ ਨਾਲ ਸੋਧਿਆ ਗਿਆ ਹੈ।
ਇਹ ਨੋਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਕਲਾਸ ਦੇ ਦਾਇਰੇ ਤੋਂ ਬਾਹਰ ਸਿੱਧੇ ਨਿੱਜੀ ਸੰਪਤੀਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ, ਕਿਉਂਕਿ ਇਹ ਇਨਕੈਪਸੂਲੇਸ਼ਨ ਦੇ ਸਿਧਾਂਤ ਦੀ ਉਲੰਘਣਾ ਕਰਦਾ ਹੈ। ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਕਲਾਸ ਦੀ ਅੰਦਰੂਨੀ ਸਥਿਤੀ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਕੇ ਉਸ ਦੀ ਇਕਸਾਰਤਾ ਅਤੇ ਇਕਸਾਰਤਾ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ।
ਇੱਕ ਕਲਾਸ ਵਿੱਚ ਇੱਕ ਨਿੱਜੀ ਜਾਇਦਾਦ ਦੇ ਮੁੱਲ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਲਈ, ਅਸੀਂ ਗੈਟਰ ਅਤੇ ਸੇਟਰ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਵਿਧੀਆਂ ਨਿੱਜੀ ਸੰਪਤੀਆਂ ਤੱਕ ਨਿਯੰਤਰਿਤ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ ਅਤੇ ਸਾਨੂੰ ਉਹਨਾਂ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ। ਇਨਕੈਪਸੂਲੇਸ਼ਨ ਅਤੇ ਐਕਸੈਸ ਮੋਡੀਫਾਇਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਆਪਣੀਆਂ ਕਲਾਸਾਂ ਦੀ ਇਕਸਾਰਤਾ ਅਤੇ ਇਕਸਾਰਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹਾਂ।
ਬਾਰੇ ਹੋਰ ਹਾਲੀਆ ਸਵਾਲ ਅਤੇ ਜਵਾਬ ਕਲਾਸਾਂ ਅਤੇ ਪੀ.ਐੱਚ.ਪੀ.:
- ਇੱਕ ਕਲਾਸ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਅਤੇ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਲਈ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਪਹੁੰਚ ਕੀ ਹੈ?
- ਅਸੀਂ ਇੱਕ ਕਲਾਸ ਵਿੱਚ ਇੱਕ ਨਿੱਜੀ ਜਾਇਦਾਦ ਦੇ ਮੁੱਲ ਨੂੰ ਕਿਵੇਂ ਅਪਡੇਟ ਕਰ ਸਕਦੇ ਹਾਂ?
- ਕਲਾਸ ਵਿੱਚ ਗੇਟਰਾਂ ਅਤੇ ਸੇਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਕੀ ਫਾਇਦਾ ਹੈ?
- ਇੱਕ ਕਲਾਸ ਵਿੱਚ ਜਾਇਦਾਦ ਨੂੰ ਨਿੱਜੀ ਬਣਾਉਣ ਦਾ ਕੀ ਮਕਸਦ ਹੈ?
- PHP ਕਲਾਸਾਂ ਵਿੱਚ ਕੰਸਟਰਕਟਰ ਫੰਕਸ਼ਨ ਕੀ ਹੈ ਅਤੇ ਇਸਦਾ ਉਦੇਸ਼ ਕੀ ਹੈ?
- PHP ਕਲਾਸਾਂ ਵਿੱਚ ਵਿਧੀਆਂ ਕੀ ਹਨ ਅਤੇ ਅਸੀਂ ਉਹਨਾਂ ਦੀ ਦਿੱਖ ਨੂੰ ਕਿਵੇਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹਾਂ?
- PHP ਕਲਾਸਾਂ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕੀ ਹਨ ਅਤੇ ਅਸੀਂ ਉਹਨਾਂ ਦੀ ਦਿੱਖ ਨੂੰ ਕਿਵੇਂ ਪਰਿਭਾਸ਼ਤ ਕਰ ਸਕਦੇ ਹਾਂ?
- ਅਸੀਂ PHP ਵਿੱਚ ਇੱਕ ਕਲਾਸ ਤੋਂ ਇੱਕ ਆਬਜੈਕਟ ਕਿਵੇਂ ਬਣਾਉਂਦੇ ਹਾਂ?
- PHP ਵਿੱਚ ਇੱਕ ਕਲਾਸ ਕੀ ਹੈ ਅਤੇ ਇਹ ਕਿਸ ਮਕਸਦ ਲਈ ਕੰਮ ਕਰਦੀ ਹੈ?