Junior — Middle
Мантиқӣ-баҳсгирии объектӣ дар барномасозӣ чӣ маъно дорад ва кадом сатҳҳои дастрасӣ мавҷуданд?
sobes.tech AI
Ҷавоб аз AI
Дар оюуту орои объектӣ (OOP), сатҳҳои дастрасӣ муайян мекунанд, ки кадом қисмҳои барнома метавонанд ба элементҳои муайяни синф (моликӣ ва усулҳо) дастрасӣ пайдо кунанд. Дар PHP, се сатҳи асосии дастрасӣ мавҷуд аст:
- public — элементҳо аз ҳар ҷо, дар дохил ва берун аз синф, дастрасанд.
- protected — элементҳо танҳо дар дохили худи синф ва фарзандони он дастрасанд.
- private — элементҳо танҳо дар дохили синфе, ки онҳо эълон шудаанд, дастрасанд ва дар фарзандон ё берун дастрас нестанд.
Масалан:
class Example {
public $publicVar = 'public';
protected $protectedVar = 'protected';
private $privateVar = 'private';
public function testAccess() {
echo $this->publicVar; // Дастрас
echo $this->protectedVar; // Дастрас
echo $this->privateVar; // Дастрас
}
}
class ChildExample extends Example {
public function testAccess() {
echo $this->publicVar; // Дастрас
echo $this->protectedVar; // Дастрас
// echo $this->privateVar; // Хатогӣ: дастрас нест
}
}
$obj = new Example();
echo $obj->publicVar; // Дастрас
// echo $obj->protectedVar; // Хатогӣ
// echo $obj->privateVar; // Хатогӣ
Инчунин, сатҳҳои дастрасӣ кӯмак мекунанд, ки маълумотҳоро дар ҳифз нигоҳ доранд ва назорати намоишро таъмин кунанд.