Prototype-oriented Programming和Prototype Pattern 的区别与联系

简介: 来自“dead of winter 寒冬”非常好的说明 面向原型的语言思想跟原型模式是完全一致的:从同一原型clone出来的对象就是一类对象。Prototype-oriented的语言对这种模式提供了语言级别的支持,即所有"类"的定义都是通过指定该类的一个原型来实现的(Class-Based Programming是通过类结构声明来描述一类对象,meta-class则是通过构造一个"类对象"来描述一类对象)。

来自“dead of winter 寒冬”非常好的说明

面向原型的语言思想跟原型模式是完全一致的:从同一原型clone出来的对象就是一类对象。Prototype-oriented的语言对这种模式提供了语言级别的支持,即所有"类"的定义都是通过指定该类的一个原型来实现的(Class-Based Programming是通过类结构声明来描述一类对象,meta-class则是通过构造一个"类对象"来描述一类对象)。每次实例话就clone一次原型,然而这种方式会造成信息的冗余:所有对象都持有原型对象的一个clone的副本,而且一旦某一对象被构造,修改原型不会对它造成任何影响,这对于希望在程序中统一改变某一类对象的人来说很不方便。于是,一种变通的方法产生了:引用型原型对象,与之相对,原来的原型对象使用方法被称为 复制型原型对象。引用型原型对象不再clone原型,而是保存一个指向原型的指针,当访问属性时,首先检查自己的属性,当查到不存在时,则通过指针向原型索取相应属性。而引用型原型就是javascript的面向原型特性的实现方式。

http://blog.csdn.net/dead_of_winter/article/details/1902063


[转载&翻译]prototype oriented http://blog.csdn.net/dead_of_winter/article/details/1646024

Javascript继承体系 http://blog.csdn.net/dead_of_winter/article/details/1626003

目录
相关文章
|
测试技术 开发工具 Android开发
跨平台的视频采集、直播SDK SmarterStreaming
SmarterStreaming 跨平台的视频采集、直播SDK(支持Windows/android/iOS,支持私有协议和RTMP推流),也许是国内最靠谱的视频直播推流、播放SDK之一,助您轻松实现类似于花椒、映客、斗鱼手机直播推送与播放。
2103 0
|
12月前
|
JavaScript 前端开发 API
花了一天的时间,地板式扫盲了vue3中所有API盲点
这篇文章全面介绍了Vue3中的API,包括组合式API、选项式API等内容,旨在帮助开发者深入了解并掌握Vue3的各项功能。
花了一天的时间,地板式扫盲了vue3中所有API盲点
bigdecimal加减乘除
bigdecimal加减乘除
|
Java Maven Spring
Spring Boot中的自定义Starter开发
Spring Boot中的自定义Starter开发
|
JavaScript API
Vue 3的Composition API 详解以及例子
Vue 3的Composition API 详解以及例子
422 0
|
PyTorch 算法框架/工具
PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
730 2
PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
|
安全 Android开发 数据安全/隐私保护
制作系统签名
五月打卡
227 0
|
SQL 关系型数据库 MySQL
关于MySQL8.0.16压缩包安装配置教程
关于MySQL8.0.16压缩包安装配置教程
|
存储 Java 容器
Java 中的 java.nio.FloatBuffer 类
Java 中的 java.nio.FloatBuffer 类
174 0
|
存储 JavaScript 前端开发
EasyExcel 实现导入与导出功能(Springboot+Vue)
EasyExcel 实现导入与导出功能(Springboot+Vue)
2271 1

热门文章

最新文章