
ilustrar
1. Combine dos clases originalmente no relacionadas y luego use los métodos y atributos de las dos clases para generar un nuevo resultado.
2. La estructura se divide en clases abstractas, clases abstractas refinadas, clases de implementación, clases de implementación concretas y código de cliente.
Ejemplo
/**
* Clase abstracta de color * Clase Color
*/
color de clase abstracta
{
/**
* @retorno mixto
*/
ejecución de función pública abstracta();
}
/**
* Negro * Clase Negro
*/
clase Negro extiende Color
{
ejecución de función pública()
{
// TODO: Implementar el método run().
devolver 'negro';
}
}
/**
*Blanco*Clase Blanco
*/
clase El blanco extiende el color
{
ejecución de función pública()
{
// TODO: Implementar el método run().
devolver 'blanco';
}
}
/**
* Rojo * Clase Rojo
*/
clase Rojo extiende Color
{
ejecución de función pública()
{
// TODO: Implementar el método run().
devolver 'rojo';
}
}
/**
* Clase abstracta de forma * Forma de clase
*/
forma de clase abstracta
{
/**
*Color* @var Color
*/
color protegido $;
/**
* Constructor de formas.
* @param Color $color
*/
función pública __construct(Color $color)
{
$este->color = $color;
}
/**
* @retorno mixto
*/
operación de función pública abstracta();
}
/**
* Ronda * Ronda de Clase
*/
clase Ronda extiende Forma
{
/**
* @return mixto|vacío
*/
operación de función pública ()
{
// TODO: Implementar el método operación().
echo $this->color->run() 'círculo<br>';
}
}
/**
* Rectángulo * Rectángulo de clase
*/
clase Rectángulo extiende Forma
{
/**
* @return mixto|vacío
*/
operación de función pública ()
{
// TODO: Implementar el método operación().
echo $this->color->run() 'Rectángulo<br>';
}
}
/**
* Cuadrado * Clase Cuadrado
*/
clase Cuadrado extiende Forma
{
/**
* @return mixto|vacío
*/
operación de función pública ()
{
// TODO: Implementar el método operación().
echo $this->color->run() 'cuadrado<br>';
}
}
// Código de cliente // Ronda blanca $whiteRound = new Round(new White());
$redondablanca->operación();
// Cuadrado Negro $cuadradonegro = nuevo Cuadrado(nuevo Negro());
$cuadradonegro->operación();
// Rectángulo rojo $redRectangle = new Rectángulo(new Red());
$redRectangle->operación();
//El resultado de la ejecución es un círculo blanco, un cuadrado negro y un rectángulo rojo.Lo anterior es una introducción al modo puente PHP. Espero que sea útil para todos.