面向对象高级① -- 对象的五种创建模式

网友投稿 221 2022-09-06

面向对象高级① -- 对象的五种创建模式

文章目录

​​对象创建模式​​

​​Object构造函数模式​​​​对象字面量模式​​​​工厂模式​​​​自定义构造函数模式​​​​构造函数+原型的组合模式​​

对象创建模式

Object构造函数模式

套路: 先创建空Object对象, 再动态添加属性/方法适用场景: 起始时不确定对象内部数据问题: 语句太多

例如:

对象字面量模式

套路: 使用{}创建对象, 同时指定属性/方法适用场景: 起始时对象内部数据是确定的问题: 如果创建多个对象, 有重复代码

例如:

工厂模式

套路: 通过工厂函数动态创建对象并返回适用场景: 需要创建多个对象问题: 对象没有一个具体的类型, 都是Object类型

例如:

返回一个对象的函数就是工厂函数

自定义构造函数模式

套路: 自定义构造函数, 通过new创建对象适用场景: 需要创建多个类型确定的对象问题: 每个对象都有相同的数据, 浪费内存

每个对象都有相同的数据是指除了自己独有的属性之外,方法每个对象都有一份,且他们都是相同的,这就会造成内存的浪费。我们可以通过向原型对象中添加方法来减少内存的消耗,同时又让每一个对象又拥有这一个方法。

例如:

构造函数+原型的组合模式

套路: 自定义构造函数, 属性在函数中初始化, 方法添加到原型上适用场景: 需要创建多个类型确定的对象

例如:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:线程机制与事件机制①
下一篇:面向对象高级② --对象的三种继承模式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~