封装和访问修饰符
保护并控制对属性和方法的访问
封装和访问修饰符 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 4 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 5 节课。
封装和访问修饰符
封装和访问修饰符
欢迎学习封装!本课将介绍封装如何帮助保护类中的数据,以及访问修饰符如何控制类属性和方法的可见性。让我们深入了解吧!

什么是封装
什么是封装
封装是将数据(属性)以及操作这些数据的方法捆绑在类中,并限制从类外部直接访问它们的一种实践。
封装的主要特性:
- 保护对象的内部状态。
- 通过方法提供对类属性的受控访问。
- 帮助维护数据完整性。
提示:封装是构建安全且模块化应用程序的基础概念。
PHP 中的访问修饰符
PHP 中的访问修饰符
访问修饰符定义类属性和方法的可见性。PHP 提供三种可见性级别:
public:可从任何位置访问。protected:只能在类及其子类中访问。private:只能在类自身内部访问。
要点:使用访问修饰符控制属性和方法的访问及修改方式。
使用公开属性
使用 public 属性
声明为 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();
?>
使用私有属性
使用 private 属性
声明为 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
?>
使用受保护属性
使用 protected 属性
声明为 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();
?>
封装的优点
封装的优点
封装具有以下优点:
- 保护对象的内部状态。
- 通过集中管理属性控制逻辑,提高代码的可维护性。
- 防止意外修改数据。
- 限制对敏感数据的直接访问,增强安全性。
要点:封装是构建安全且模块化的面向对象程序的基本原则。
做得很好
做得很好
恭喜您!您已经了解了封装,以及访问修饰符如何控制类属性和方法的可见性。下一课我们将探索多态,以及它如何让对象的行为更加灵活。让我们继续编写代码吧!

常见问题解答
「封装和访问修饰符」课时是免费的吗?
是的 — 「封装和访问修饰符」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 PHP Academy 课程的其余内容,请升级到 CoddyKit PRO。 PHP Academy 课程共包含 5 节课。
「封装和访问修饰符」这节课中我会学到什么?
保护并控制对属性和方法的访问 你通过在浏览器中直接运行的动手代码来练习 PHP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 PHP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 PHP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 5 节。
「封装和访问修饰符」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 PHP Academy 课中编写并运行代码吗?
能。每节 PHP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- PHP 面向对象编程入门
- 定义类和对象
- 继承
- 封装和访问修饰符
- 多态