适配器模式
啥是适配器。这么熟悉。 大家常见的就是网卡了。 那还有更形象点的解释吗?有的。 比如xx转接头。 这个转接头就叫适配器。
民用电中国是220v。那怎么给手机充电呢 。 充电器就是220-5v的适配器。
那5v输出又不适应所有的手机接口, 于是出现了usb转安卓,usb转苹果等 的数据线。 这也叫适配器。 说白了就是 两个不一样的东西,通过某种方式给链接起来。就叫适配器模式。 代码如下。
[PHP] 纯文本查看 复制代码
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<?php use yii\base\Object;/** * 源类,用户类 * */class User{ /** * 获取用户名的方法 * @return string */ public function getUserName() { return 'php20'; } /** * 获取年龄 * @return string */ public function getUserAge() { return '20'; }}/** * 标注接口类,适配器 */interface IUserAdapter{ public function getUserInfo();}/** * 具体的类 */class UserAdapter implements IUserAdapter{ public $mUserObj; public function __construct($old_obj) { $this->mUserObj = $old_obj; } /** * 获取用户信息 */ public function getUserInfo() { $userinfo=[ 'username' => $this->mUserObj->getUserName(), 'age' => $this->mUserObj->getUserAge(), ]; return $userinfo; }}///////实际使用代码$new_user = new UserAdapter(new User());var_dump( $new_user ->getUserInfo()); |
结果如下
array(2) { ["username"]=> string(5) "php20" ["age"]=> string(2) "20" }
将来不迎,当下不杂,过往不念。

浙公网安备 33010602011771号