<?php declare(strict_types=1); ini_set('display_errors', 'On'); error_reporting(-1); /** * Human类 */ class Human { private string $name; // 姓名 /** * 构造方法 * * @param string $name 姓名 */ public function __construct(string $name) { $this->name = $name; } /** * 打电话 * * @param string $num 通话目标号码 * @return void */ public function call(string $num): void { echo "{$this->name}即将打电话" . PHP_EOL; $mobile = new Mobile(); $mobile->dial($num); } } /** * 手机类 */ class Mobile { /** * 拨号 * * @param string $num 号码 * @return void */ public function dial(string $num): void { echo "手机拨号:$num" . PHP_EOL; } } $zhangsan = new Human('张三'); $zhangsan->call('18888888888'); //========== 输出过程·开始 ==========// // 张三即将打电话 // 手机拨号:18888888888 //========== 输出过程·结束 ==========//
<?php declare(strict_types=1); ini_set('display_errors', 'On'); error_reporting(-1); /** * Human类 */ class Human { private string $name; private Mobile $mobile; /** * 构造方法 * * @param string $name 姓名 * @param Mobile $mobile Mobile对象(依赖对象) */ public function __construct(string $name, Mobile $mobile) { $this->name = $name; $this->mobile = $mobile; } /** * 打电话 * * @param string $num 通话目标号码 * @return void */ public function call(string $num): void { echo "{$this->name}即将打电话" . PHP_EOL; $this->mobile->dial($num); } } /** * 手机类 */ class Mobile { /** * 拨号 * * @param string $num 号码 * @return void */ public function dial(string $num): void { echo "手机拨号:$num" . PHP_EOL; } } $mobile = new Mobile(); // 通过构造器注入Mobile对象(依赖对象) $zhangsan = new Human('张三', $mobile); $zhangsan->call('18888888888'); //========== 输出过程·开始 ==========// // 张三即将打电话 // 手机拨号:18888888888 //========== 输出过程·结束 ==========//
Copyright © 2024 码农人生. All Rights Reserved