python策略模式_策略模式

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();

泡水鱼干

泡水鱼干

626***755@qq.com9个月前 (05-16)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值