面向对象和面向过程
面向对象和过程式编程的核心区别就是职责分配
过程式代码表现的行为就是一系列命令和方法的连续调用,控制代码根据不同的条件执行不同的职责代码。这种自顶向下的控制方式导致了重复和相互依赖的代码遍布于整个项目。
面向对象编程则将职责从客户端代码中转移到专门的对象中,尽量减少相互依赖。
实例说明面向对象和面向过程
首先,面对这样一个需求,写一个读取文件配置工具。
配置文件的格式如下
key:value
面向过程的方式此时需求明确,实现也简单,两个函数搞定
sourcefile = $source;    }    function addparams( $key, $val ) {        $this->params[$key] = $val;    }    function getallparams() {        return $this->params;    }    //该处验证传入的文件类型,然后返回相应操作的对象    static function getinstance( $filename ) {         if ( preg_match(/\.xml$/i, $filename) ) {            return new xmlparsehandler( $filename );        }        return new textparsehandler( $filename );    }    abstract function write();    abstract function read();}//定义具体xml的实现子类class xmlparsehandler extends paramhandler {    function write() {        //实现xml的写方法    }    function read() {        //实现xml的读方法        }}
以上就介绍了php对象设计进阶,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
   
 
   