84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
如题,在看高程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的方式返回出来的那个对象 他会继承构造函数里面的属性方法,极其原型里面的相应属性方法。链接描述