PHP Academy · บทเรียน

การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง

ปกป้องและควบคุมการเข้าถึงคุณสมบัติและเมธอด

บทเรียน 4 จาก 510 ขั้นตอน

การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 5 บทเรียน

การห่อหุ้มและตัวกำหนดการเข้าถึง

ยินดีต้อนรับสู่บทเรียนเรื่องการห่อหุ้ม! ในบทเรียนนี้ คุณจะได้เรียนรู้ว่าการห่อหุ้มช่วยปกป้องข้อมูลภายในคลาสได้อย่างไร และตัวกำหนดการเข้าถึงควบคุมการมองเห็นพร็อพเพอร์ตีและเมธอดของคลาสได้อย่างไร มาเริ่มศึกษากันเลย!

การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง — ภาพประกอบ 1

การห่อหุ้มคืออะไร

การห่อหุ้มคือแนวทางการรวมข้อมูล (พร็อพเพอร์ตี) และเมธอดที่ทำงานกับข้อมูลนั้นไว้ภายในคลาส พร้อมจำกัดการเข้าถึงโดยตรงจากภายนอกคลาส

คุณลักษณะสำคัญของการห่อหุ้ม:

  • ปกป้องสถานะภายในของออบเจ็กต์
  • จัดให้มีการเข้าถึงพร็อพเพอร์ตีของคลาสที่ควบคุมได้โดยใช้เมธอด
  • ช่วยรักษาความถูกต้องครบถ้วนของข้อมูล

เคล็ดลับ: การห่อหุ้มเป็นแนวคิดพื้นฐานสำหรับการสร้างแอปพลิเคชันที่ปลอดภัยและเป็นโมดูล

ตัวกำหนดการเข้าถึงใน PHP

ตัวกำหนดการเข้าถึงจะกำหนดการมองเห็นพร็อพเพอร์ตีและเมธอดของคลาส PHP มีระดับการมองเห็นสามระดับ:

  • public: เข้าถึงได้จากทุกที่
  • protected: เข้าถึงได้เฉพาะภายในคลาสและคลาสลูก
  • private: เข้าถึงได้เฉพาะภายในคลาสนั้นเอง

ประเด็นสำคัญ: ใช้ตัวกำหนดการเข้าถึงเพื่อควบคุมวิธีเข้าถึงและแก้ไขพร็อพเพอร์ตีและเมธอด

การใช้พร็อพเพอร์ตี <code>public</code>

พร็อพเพอร์ตีที่ประกาศเป็น public สามารถเข้าถึงและแก้ไขได้จากทุกที่ ตัวอย่างเช่น:

เคล็ดลับ: ใช้ public กับพร็อพเพอร์ตีและเมธอดที่ต้องการให้เข้าถึงได้โดยเปิดเผย

<?php
  class Car {
    public $make;
    public $model;

    public function drive() {
      echo "The car is driving.";
    }
  }

  $car = new Car();
  $car->make = "Toyota";
  $car->model = "Corolla";

  echo "Make: " . $car->make . ", Model: " . $car->model;
  $car->drive();
?>

การใช้พร็อพเพอร์ตี <code>private</code>

พร็อพเพอร์ตีที่ประกาศเป็น private สามารถเข้าถึงได้เฉพาะภายในคลาส ตัวอย่างเช่น:

ประเด็นสำคัญ: ใช้ private กับพร็อพเพอร์ตีที่ต้องการป้องกันไม่ให้ถูกแก้ไขจากภายนอก

<?php
  class BankAccount {
    private $balance;

    public function __construct($initialBalance) {
      $this->balance = $initialBalance;
    }

    public function getBalance() {
      return $this->balance;
    }

    public function deposit($amount) {
      $this->balance += $amount;
    }
  }

  $account = new BankAccount(100);
  $account->deposit(50);
  echo "Balance: " . $account->getBalance(); // Outputs: Balance: 150
?>

การใช้พร็อพเพอร์ตี <code>protected</code>

พร็อพเพอร์ตีที่ประกาศเป็น protected สามารถเข้าถึงได้จากภายในคลาสและคลาสลูก ตัวอย่างเช่น:

ประเด็นสำคัญ: ใช้ protected เพื่ออนุญาตให้คลาสลูกเข้าถึงพร็อพเพอร์ตีและเมธอดของคลาสแม่

<?php
  class Vehicle {
    protected $fuel;

    public function setFuel($fuel) {
      $this->fuel = $fuel;
    }
  }

  class Car extends Vehicle {
    public function getFuel() {
      return $this->fuel;
    }
  }

  $car = new Car();
  $car->setFuel("Gasoline");
  echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>

เมธอดอ่านค่าและกำหนดค่า

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

เคล็ดลับ: ใช้เมธอดกำหนดค่าเพื่อตรวจสอบข้อมูลก่อนแก้ไขพร็อพเพอร์ตี

<?php
  class User {
    private $password;

    public function setPassword($password) {
      $this->password = $password;
    }

    public function getPassword() {
      return $this->password;
    }
  }

  $user = new User();
  $user->setPassword("my_secure_password");
  echo "Password: " . $user->getPassword();
?>

ประโยชน์ของการห่อหุ้ม

การห่อหุ้มมีข้อดีดังต่อไปนี้:

  • ปกป้องสถานะภายในของออบเจ็กต์
  • ช่วยให้ดูแลรักษาโค้ดได้ง่ายขึ้นด้วยการรวมศูนย์การควบคุมพร็อพเพอร์ตี
  • ป้องกันการแก้ไขข้อมูลโดยไม่ได้ตั้งใจ
  • เพิ่มความปลอดภัยด้วยการจำกัดการเข้าถึงข้อมูลที่ละเอียดอ่อนโดยตรง

ประเด็นสำคัญ: การห่อหุ้มเป็นหลักการพื้นฐานของ OOP ที่ปลอดภัยและเป็นโมดูล

เยี่ยมมาก!

ขอแสดงความยินดี! คุณได้เรียนรู้เรื่องการห่อหุ้มและวิธีที่ตัวกำหนดการเข้าถึงควบคุมการมองเห็นพร็อพเพอร์ตีและเมธอดของคลาสแล้ว ในบทเรียนถัดไป เราจะศึกษาเรื่องพหุรูปและวิธีที่พหุรูปช่วยให้พฤติกรรมของออบเจ็กต์มีความยืดหยุ่น มาเขียนโค้ดกันต่อเลย!

การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง — ภาพประกอบ 10
เริ่มต้นได้ฟรี

เรียนรู้ PHP ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
49
บทเรียน
195

คำถามที่พบบ่อย

บทเรียน “การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 5 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง”

ปกป้องและควบคุมการเข้าถึงคุณสมบัติและเมธอด คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 5 บทเรียน

บทเรียน “การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่การเขียนโปรแกรมเชิงวัตถุใน PHP
  2. การกำหนดคลาสและออบเจ็กต์
  3. การสืบทอด
  4. การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง
  5. พหุสัณฐาน
← กลับไปที่ PHP Academy