Tecnología

Inicio

Cómo extender una clase a otra clase en PHP

clases PHP definen objetos y encapsulan la funcionalidad de dichos objetos. Al desarrollar una aplicación PHP, puede ahorrar tiempo mediante el uso de una clase PHP que ya existe para las tareas que se realizan en la aplicación. Si una clase PHP que desea utilizar tiene la mayoría, pero no todos, la funcionalidad que necesita para un objeto, se puede extender la clase PHP, utilice la funcionalidad ya definido por la clase y añadir funcionalidad adicional a su versión extendida de la clase.

Instrucciones

1 Incluir la clase PHP que desea extender. Por ejemplo, escriba lo siguiente para incluir una clase PHP que asigna un asiento e incluye una función para mostrar el asiento asignado en ese momento.

<? Php

Asiento clase {

protected $assigned = "";

__construct función pública () {

$ This-> asignado = get_next_assigned_seat ();

}

la función pública show () {

echo "& lt; p> El asiento asignado actual es". $ This-> asignado. "& Lt; / p>";

}

}

2 Crear una nueva clase de PHP que se extiende la clase original. Añadir funcionalidad a la clase extendida - por ejemplo, la capacidad de anular una asignación de asiento. Tipo:

Clase SpecialSeat extiende Asiento {

private $approval_code = "abc123";

de anulación de funciones públicas ($ aprobación, newseat $) {

si (aprobación == $ $ approval_code) {

$ This-> asignado = override_assigned_seat ($ newseat);

return true;

}

falso retorno;

}

}

3 Inserte la parte principal del programa que consigue un asiento asignado utilizando la funcionalidad proporcionada por la clase de original, anula la asignación de asiento con la funcionalidad añadida a través de la clase extendida y muestra la asignación de asiento con la funcionalidad proporcionada por la clase original. Por ejemplo, escriba:

$ Asiento = new SpecialSeat ();

$ Asiento-> show ();

if ($ asiento-> anulación ( "abc123", "F1"))

echo "&lt;p>Seat overridden!&lt;/p>";

más

echo "&lt;p>Seat override failed!&lt;/p>";

$ Asiento-> show ();

?>