PHP 方式:
// 策略 interface Strategy{ public function doOperation(int $num1,int $num2):int ; } // 加法 class OperationAdd implements Strategy{ public function doOperation(int $num1, int $num2): int { // TODO: Implement doOperation() method. return $num1 + $num2; } } // 减法 class OperationSubtract implements Strategy{ public function doOperation(int $num1, int $num2): int { // TODO: Implement doOperation() method. return $num1-$num2; } } // 乘法 class OperationMultiply implements Strategy{ public function doOperation(int $num1, int $num2): int { // TODO: Implement doOperation() method. return $num1 * $num2; } } class Context{ private $_strategy; public function set_strategy($_strategy) { $this->_strategy = $_strategy; } public function executeStrategy(int $num1,int $num2){ return $this->_strategy->doOperation($num1,$num2); } } class Demo{ public static function main(){ $context = new Context(); $context->set_strategy(new OperationAdd()); echo "10 + 5 = ".$context->executeStrategy(10,5).PHP_EOL; $context->set_strategy(new OperationSubtract()); echo "10 - 5 = ".$context->executeStrategy(10,5).PHP_EOL; $context->set_strategy(new OperationMultiply()); echo "10 * 5 = ".$context->executeStrategy(10,5).PHP_EOL; } } Demo::main();
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/6426.html