Classes and Objects
Una clase es una plantilla para objetos, y un objeto es una instancia de clase.
OOP Case
Supongamos que tenemos una clase llamada Fruit. Una fruta puede tener propiedades como el
nombre, color y peso.
Podemos definir variables como $name, $color y $weight para almacenar
estos valores.
Cuando se crean objetos individuales (manzana, plátano, etc.), heredan todas las propiedades y comportamientos de la clase, pero cada objeto tendrá valores diferentes para sus propiedades.
Definir una Clase
Una clase se define mediante el uso de la palabra clave class, seguida por el nombre de la clase y
un par de llaves { }. Dentro de las llaves se definen las propiedades y métodos de la clase.
🔹 Sintaxis
<?php
class Fruit {
// El código va aquí...
}
?>
A continuación, declaramos una clase llamada Fruit que consta de dos propiedades ($name
y $color) y dos métodos set_name() y get_name() para establecer y obtener
la propiedad $name:
🔹 Ejemplo
<?php
class Fruit {
// Propiedades
public $name;
public $color;
// Métodos
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
?>
Nota: En una clase, las variables se llaman propiedades y las funciones se llaman métodos.
Definir Objetos
Las clases no tienen utilidad sin los objetos. Podemos crear múltiples objetos a partir de una clase. Cada objeto tendrá todas las propiedades y métodos definidos en la clase, pero con valores de propiedad diferentes.
Los objetos de una clase se crean utilizando la palabra clave new.
🔹 Ejemplo 1: Creación de objetos
En el siguiente ejemplo, $apple y $banana son instancias de la clase
Fruit:
<?php
class Fruit {
// Propiedades
public $name;
public $color;
// Métodos
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');
echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>
🔹 Ejemplo 2: Añadiendo más métodos
En este ejemplo, añadimos dos métodos adicionales a la clase Fruit para establecer y obtener el
color de la fruta:
<?php
class Fruit {
// Propiedades
public $name;
public $color;
// Métodos
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
function set_color($color) {
$this->color = $color;
}
function get_color() {
return $this->color;
}
}
$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>
PHP - La palabra clave $this
La palabra clave $this se usa dentro de una clase para referirse al objeto actual. Solo está
disponible dentro de los métodos de la clase.
🔹 Ejemplo 1: Definiendo una propiedad
En este ejemplo, creamos una clase Fruit con una propiedad $name:
<?php
class Fruit {
public $name;
}
$apple = new Fruit();
?>
🔹 Ejemplo 2: Modificar una propiedad dentro de la clase
Podemos cambiar el valor de una propiedad usando un método dentro de la clase con $this:
<?php
class Fruit {
public $name;
function set_name($name) {
$this->name = $name;
}
}
$apple = new Fruit();
$apple->set_name("Apple");
echo $apple->name;
?>
🔹 Ejemplo 3: Modificar una propiedad fuera de la clase
También podemos cambiar directamente el valor de la propiedad desde fuera de la clase sin necesidad de un método:
<?php
class Fruit {
public $name;
}
$apple = new Fruit();
$apple->name = "Apple";
echo $apple->name;
?>
PHP - instanceof
El operador instanceof se usa para verificar si un objeto pertenece a una clase específica.
🔹 Ejemplo: Verificando la instancia de una clase
En el siguiente ejemplo, creamos un objeto $apple de la clase Fruit y usamos
instanceof para comprobar si pertenece a esa clase:
<?php
class Fruit {
// Clase vacía para el ejemplo
}
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>

0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias