面向对象与面向过程有什么区别

面向对象与面向过程有什么区别:
在mysqli的扩展库里,既支持面向对象又支持面向过程,但是老师告诉我,最好使用面向对象的方式编程,对于新手的我来说,很是不理解。
在PHP文档里面,关于mysqli的介绍中,文档既写出了使用面向对象编程的实例,也写出了面向过程编程的实例,我比较了一下,发现两者没有多大区别。
举例说明一下,我们用语句从数据库里提取一段记录,
这是文档中mysqli::query中面向对象风格的实例

'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" title="Click Here To EnLarge">

这是文档中mysqli::query中面向过程风格的实例

'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" title="Click Here To EnLarge">



我通过观察发现,不论是面向对象还是面向过程,数据库的查询只有三部
一、连接数据库,不同的是,面向对象中使用实例化mysqli类来连接,面向过程中使用mysqli_connect()函数连接
二、数据库查询,面向对象使用$mysqli::query(语句)查询,面向过程使用mysqli_query(语句)查询
三、关闭资源,面向对象使用$mysqli->close()关闭,面向过程使用mysqli_close()关闭


老师也说过mysqli的使用与原来很相似,但是对于新手的我来说,过程一样,只是用类实例化对象调用方法来代替原来的函数,不论怎么想都没有什么实际的优势,在网上搜索了很多,好多人会说面向对象更高效更利于维护之类的高深术语,对于新手的我来说,根本没区别。
其实就是想知道在具体开发,或者说编程中,面向对象编程与面向过程编程有多大区别?

作者: s200612321   发布时间: 2011-10-19

面向过程的风格是为了向前兼容PHP4,这个看你的喜好了,既然两种风格都通用就看你愿意怎么写了。

至于面向对象,是一种代码规划策略,具体的功能实现还是有面向过程的函数实现,但面向对象把数据和操作数据的方法进行了绑定和规划,有利于整体的代码编写,在逻辑上更清晰更有条理,更易于维护。

作者: lasp   发布时间: 2011-10-19

面向对象更多的是一种逻辑管理和代码规划策略上的优化,代码风格只是实现和部署这种策略的一种表现形式。

作者: lasp   发布时间: 2011-10-19