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