Encapsulación y modificadores de acceso
Proteja y controle el acceso a propiedades y métodos
Encapsulación y modificadores de acceso es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 4 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 5 lecciones en total.
Encapsulación y modificadores de acceso
Encapsulación y modificadores de acceso
¡Le damos la bienvenida a la lección sobre encapsulación! En esta lección, aprenderá cómo la encapsulación ayuda a proteger los datos dentro de las clases y cómo los modificadores de acceso controlan la visibilidad de las propiedades y los métodos de una clase. ¡Profundicemos!

¿Qué es la encapsulación?
¿Qué es la encapsulación?
La encapsulación consiste en agrupar dentro de una clase los datos (propiedades) y los métodos que operan sobre ellos, y restringir el acceso directo a dichos elementos desde fuera de la clase.
Características principales de la encapsulación:
- Protege el estado interno de un objeto.
- Proporciona un acceso controlado a las propiedades de la clase mediante métodos.
- Ayuda a mantener la integridad de los datos.
Consejo: La encapsulación es un concepto fundamental para crear aplicaciones seguras y modulares.
Modificadores de acceso en PHP
Modificadores de acceso en PHP
Los modificadores de acceso definen la visibilidad de las propiedades y los métodos de una clase. PHP proporciona tres niveles de visibilidad:
public: Accesibles desde cualquier lugar.protected: Accesibles únicamente dentro de la clase y sus subclases.private: Accesibles únicamente dentro de la propia clase.
Punto clave: Utilice modificadores de acceso para controlar cómo se accede a las propiedades y los métodos y cómo se modifican.
Uso de propiedades public
Uso de propiedades public
Las propiedades declaradas como public se pueden consultar y modificar desde cualquier lugar. Ejemplo:
Consejo: Utilice public para las propiedades y los métodos a los que se deba acceder libremente.
<?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();
?>
Uso de propiedades private
Uso de propiedades private
Las propiedades declaradas como private solo se pueden consultar dentro de la clase. Ejemplo:
Punto clave: Utilice private para las propiedades que deban protegerse de modificaciones externas.
<?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
?>
Uso de propiedades protected
Uso de propiedades protected
Las propiedades declaradas como protected son accesibles dentro de la clase y sus clases hijas. Ejemplo:
Punto clave: Utilice protected para permitir que las clases hijas accedan a las propiedades y los métodos de la clase padre.
<?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
?>
Getters y setters
Getters y setters
La encapsulación suele implicar el uso de métodos getter y setter para proporcionar un acceso controlado a las propiedades privadas. Ejemplo:
Consejo: Utilice setters para validar los datos antes de modificar las propiedades.
<?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();
?>
Ventajas de la encapsulación
Ventajas de la encapsulación
La encapsulación ofrece las siguientes ventajas:
- Protege el estado interno de un objeto.
- Mejora el mantenimiento del código al centralizar el control sobre las propiedades.
- Evita la modificación accidental de los datos.
- Mejora la seguridad al restringir el acceso directo a los datos confidenciales.
Punto clave: La encapsulación es un principio fundamental de la POO segura y modular.
¡Excelente trabajo!
¡Excelente trabajo!
¡Felicidades! Ha aprendido sobre la encapsulación y cómo los modificadores de acceso controlan la visibilidad de las propiedades y los métodos de una clase. En la próxima lección, exploraremos el polimorfismo y cómo permite flexibilizar el comportamiento de los objetos. ¡Sigamos programando!

Preguntas frecuentes
¿La lección «Encapsulación y modificadores de acceso» es gratis?
Sí — el texto completo de «Encapsulación y modificadores de acceso» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 5 lecciones en total.
¿Qué aprenderé en «Encapsulación y modificadores de acceso»?
Proteja y controle el acceso a propiedades y métodos Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar PHP Academy?
No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 5.
¿Cuánto tiempo toma la lección «Encapsulación y modificadores de acceso»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de PHP Academy?
Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a la POO en PHP
- Definir clases y objetos
- Herencia
- Encapsulación y modificadores de acceso
- Polimorfismo