84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
如题,在看高程3这本书的面向对象的程序设计这一章时,有一小节专门就是介绍创建对象的7种方式,看完之后有一个疑惑,那就是工厂模式和寄生模式究竟有什么区别?书中也很明确的说明了,两者除了调用的时候有没有用new关键字之外完全相同。那这个用意是什么呢?按道理,是否通过new生成的实例对象,最终的结果都是一样的,因为最后返回的是同一个东西。所以,这两者的区别到底是什么呢?很疑惑,在具体的使用当中,什么时候需要用工厂模式,什么时候应该用寄生模式?
认证高级PHP讲师
其实社区本来就有很好的回答,相信你没搜索过,养成先搜索后提问的习惯。https://segmentfault.com/q/10...
笼统得讲,实际就是 你是要通过new 来返回个对象,还是通过 你在函数里面写个对象再把他返回出来。 new的话就有个 this指向的问题,但实际跟前面的函数方法,本质是一样的,这个this 你可以理解为就是 你用new的方式返回出来的那个对象 他会继承构造函数里面的属性方法,极其原型里面的相应属性方法。链接描述
其实社区本来就有很好的回答,相信你没搜索过,养成先搜索后提问的习惯。
https://segmentfault.com/q/10...
笼统得讲,实际就是 你是要通过new 来返回个对象,还是通过 你在函数里面写个对象再把他返回出来。 new的话就有个 this指向的问题,但实际跟前面的函数方法,本质是一样的,这个this 你可以理解为就是 你用new的方式返回出来的那个对象 他会继承构造函数里面的属性方法,极其原型里面的相应属性方法。链接描述