写个关于对象链的话题,欢迎讨论

浏览:218 发布日期:2016/01/21 分类:技术分享
简单谈谈对象链的问题

在前端js,jquery方面有对象
在后台php程序有对象.
在数据库操作里有orm.
一开始最难理解的是js的对象.js里没有类.只有原型对象,一开始很难理解这个问题.怎么会没有类只有对象呢?其实可以认为这对象是上帝给我们实例化的.上帝无处不在,我们需要一个对象的时候,他老人家就先知先觉的给我们提前实例化了一个类给我们用. 相当于是默认配置吧,记得css里html和body 看不见的那些默认样式吗?
对象有什么特点呢?对象有属性和方法. 这里有一点我自己的感受,对于理解jquery和orm 操作中的对象链有一定帮助. 就是对象的属性和方法的添加时没有顺序的.这个是关键. 举个例子来说: 我们把一个对象当成是一头大象.我们就是一群盲人,我们摸到的鼻子,象牙,腿,尾巴和耳朵就是属性.不管那个部分先被摸到,都没有关系,反正这些属性都是属于大象的.所以在对象链操作的时候才那么随心所欲. 简单说,我们给一个大象加上了鼻子.他还是那个大象.后面我们再给他加一个耳朵,他就是一个有鼻子和耳朵的大象.总之离不开大象这个范畴了.怎么给这个大象添加属性,顺序是不影响对象本身的.
数据库orm 这个方法,刚开始也很难理解.但是大家在使用thinkphp理解不了这个概念也不影响使用. 其实orm应该有很中不同的定义类型.还拿大象举例子.大象也有很多种啊.有亚洲象,有非洲象,还有猛犸象(相当于淘汰的orm类型),这些大象的属性(身高,体长,重量),方法(迁徙,食草,)等等差别都不大.我们把一个数据表用orm包装(实例化)以后,实际应该是继承原型orm以后,这个数据表的对象就可以使用orm定义好的属性和方法了. 每个orm的定义方法不同,但是看过不同orm后就会发现这些方法都很类似,没办法谁让都是大象呢?肯定是类似的了.

jquery 的$()包装一个元素以后也可以使用对象链的方法,道理是一样的.
这大概就是对象链之所以可以写出来的本质吧.理解不深欢迎指正




最佳答案
评论( 相关
后面还有条评论,点击查看>>