php面向对象巧妙应用
程序员文章站
2022-05-25 21:34:35
...
class test { public $a,$b; public function __construct($a,$b) { $this->a=$a; $this->b=$b; } public function set($var, $val) { $this->$var .= $val; return $this; } public function get() { echo $this->a.'-'.$this->b; }}class test2 { public $obj; public function __construct($obj) { $this->obj=$obj; } public function get() { $this->obj->get(); }}$a = 'aaaaa';$b = 'bbbbbb';$set = 'set';/// 1、链条式调用方法$test = new test($a, $b);$test2 = new test2($test);$test->$set('a', '111111')->$set('b', '222222'); //通过字符串变量调用(类)方法 ps:php另一巧妙应用 /// 2、分次调用方法$test->$set('a', '111111');$test->$set('b', '222222');unset($test);$test2->get();
虽然test2实例化已传入test,但是test依然可以通过set方法设置参数,然后影响test2。
上述执行程序结果: ( 上面两种都可以得出相同结果 )
aaaaa111111-bbbbbb222222
推荐阅读
-
PHP面向对象教程之自定义类
-
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
-
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
-
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
-
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
-
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
-
PHP面向对象之旅:深入理解static变量与方法
-
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
-
php面向对象的方法重载两种版本比较
-
PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】