最近放假有点多,人都一直不在状态,各种聊天泡论坛的,发现一个很有意思的问题->面向对象!
王泽兵老师写过一篇帖子,说面向对象编程,对象就是东西,所以叫做面向东西编程!这一点我其实很不敢苟合,或者是说很反对吧!面试的时候或者有时候交谈的时候,一提到这些字眼马上就是MVC啊,分层结构,表现分离啊各种神奇的答案出现!为此,作为一个标准的百度程序员,我又各种google尝试着去寻找答案,但是给出的结果往往很官方很难让我满意!有点很明显,这东西确实抽象了一点,想让它实际出来很麻烦,所以大家一般在说这个的时候,就会意思意思一下,打个哈哈就过去了!
经过仔细的思考,我只能给出面向对象是一种思想,一个设计的理念!能和它完美匹配的莫过于天朝“和谐”两个字,某些人去取钱多给了几万就要判个十多年,某些人贪污个几千万只要开除党籍什么的就可以!这就是和谐.如果要把这个写成一个程序,也会出现2种鲜明的设计
1, if(平民&&多发钱数>10000)入狱十年 if(官员&&贪污数>一千万) 开除党籍
2,写一个类 平民
class 平民{
$params;//
$money;
$re;
public function __construct(参数){给类变量赋值}
function getRE(){ 返回结果 $re}
} (还有一个父类,你可以自己写基类继承啊什么的)
这样明显一对比就明白了,一个可以直接判断,还有一个通过new对象,可能我举得的例子不是很鲜明,自己都感觉到了,不过大家应该可以明白了,面向过程和面向对象的区别,同时也可清楚发现面向过程的简单的多,但是你想想如果外加什么银行啊,什么官职等等的时候,你就发现你的判断是不是过多了,如果是一个人独立开发的话还行,要是团队开发的话,那就分工合作各方面难度大大增加了!
从我第一天接触PHP,导师就和我说了一句,对于PHP而言面向对象和面向过程是一个天枰,最好的是让2者共存,而不是一条路走到黑!所以大家很多时候不要为了,面向对象而面向对象!根据实际情况而定,PHP的原则是迅速,准确的完成需求,希望大家以后在说道面向对象的时候不要在随意丢一句MVC什么的了,很容易误导人!由于水准问题,我也不能说的很深刻,请谅解!