برای به روز رسانی مقدار یک ویژگی خصوصی در یک کلاس در 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()» بازیابی کرده و نمایش می دهیم.
با استفاده از متدهای دریافت کننده و تنظیم کننده، می توانیم اطمینان حاصل کنیم که خصوصیات خصوصی یک کلاس به صورت کنترل شده ای قابل دسترسی و اصلاح هستند. این کپسوله سازی به حفظ یکپارچگی کلاس کمک می کند و از دستکاری مستقیم خصوصیات خصوصی خارج از کلاس جلوگیری می کند.
برای به روز رسانی مقدار یک خصوصیت خصوصی در یک کلاس در PHP، باید متدهای دریافت کننده و تنظیم کننده عمومی را در کلاس تعریف کنیم. متد getter مقدار ویژگی خصوصی را بازیابی می کند، در حالی که روش setter به ما امکان می دهد مقدار آن را تغییر دهیم. با استفاده از این روش ها می توانیم ملک خصوصی را به صورت کنترل شده به روز کنیم.
سایر پرسش ها و پاسخ های اخیر در مورد کلاسها و اشیا در PHP:
- روش پیشنهادی برای دسترسی و اصلاح خواص در یک کلاس چیست؟
- فایده استفاده از گیر و ستتر در کلاس چیست؟
- چگونه می توانیم به ارزش یک دارایی خصوصی در یک کلاس دسترسی پیدا کنیم؟
- هدف از خصوصی کردن خصوصیات در یک کلاس چیست؟
- تابع سازنده در کلاس های PHP چیست و چه هدفی دارد؟
- متدها در کلاس های PHP چیست و چگونه می توانیم نمایان بودن آنها را تعریف کنیم؟
- ویژگی های کلاس های PHP چیست و چگونه می توانیم نمایان بودن آنها را تعریف کنیم؟
- چگونه از یک کلاس در PHP یک شی بسازیم؟
- کلاس در PHP چیست و چه هدفی را دنبال می کند؟