⊗ppOpBsGSA 14 of 107 menu

ข้อดีของ Setters และ Getters ใน OOP ใน PHP

ในบทเรียนที่แล้วเราได้สร้าง getter และ setter สำหรับ แต่ละคุณสมบัติ อาจมีคำถามว่า ทำไมต้องใช้ ความซับซ้อนแบบนี้ ในเมื่อจริงๆ แล้ว ผลลัพธ์เดียวกันสามารถบรรลุได้ หาก กำหนดให้คุณสมบัติเป็นสาธารณะ (public) แทนที่จะเป็นส่วนตัว (private)

ประเด็นคือ getters และ setters มี ข้อได้เปรียบ: ก่อนที่จะเข้าถึงคุณสมบัติ สามารถทำการตรวจสอบบางอย่างได้ ตัวอย่างเช่น ในกรณีของเรา เมื่อเขียน ชื่อและนามสกุล เราสามารถตรวจสอบ ว่าค่าใหม่ไม่ใช่ สตริงว่าง:

<?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 $user = new User(); ?>

ทีนี้ลองเขียน ค่าที่ถูกต้อง:

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

และตอนนี้ลองเขียน ค่าที่ไม่ถูกต้อง:

<?php $user->setName(''); // ข้อผิดพลาด ?>

ในคลาส Employee ใน setter ของอายุ ให้ทำการตรวจสอบว่า อายุควรอยู่ระหว่าง 0 ถึง 120

ในคลาส Employee ใน getter ของเงินเดือน ให้ทำดังนี้ เมื่ออ่านเงินเดือน ให้เพิ่มเครื่องหมายดอลลาร์ ไปที่ส่วนท้ายของ ค่าของมัน

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ