1
0
mirror of https://github.com/apachecn/eloquent-js-3e-zh.git synced 2025-05-24 04:22:20 +00:00
This commit is contained in:
wizardforcel 2018-05-03 12:32:12 +08:00
parent 179ad773e1
commit 96ab48c821

10
6.md
View File

@ -1,10 +1,10 @@
## 六、深入理解对象
## 六、对象的秘密
> 抽象数据类型是通过编写一种特殊的程序来实现的,该程序根据可在其上执行的操作来定义类型。
>
> Barbara Liskov《Programming with Abstract Data Types》
第 4 章介绍了 JavaScript 的对象。 在编程文化中,我们有一个名为面向对象编程的东西,这是一组技术,使用对象(和相关概念)作为程序组织的中心原则。
第 4 章介绍了 JavaScript 的对象object。 在编程文化中,我们有一个名为面向对象编程OOP的东西,这是一组技术,使用对象(和相关概念)作为程序组织的中心原则。
虽然没有人真正同意其精确定义,但面向对象编程已经成为了许多编程语言的设计,包括 JavaScript 在内。 本章将描述这些想法在 JavaScript 中的应用方式。
@ -14,15 +14,15 @@
通过这种方式,一些程序片段的工作方式的知识可以局部保留。 从事其他方面的工作的人,不必记住甚至不知道这些知识。 无论什么时候这些局部细节发生变化,只需要直接更新其周围的代码。
这种程序的不同片段通过接口,函数或绑定的有限集合交互,它以更抽象的级别提供有用的功能,并隐藏它的精确实现。
这种程序的不同片段通过接口interface,函数或绑定的有限集合交互,它以更抽象的级别提供有用的功能,并隐藏它的精确实现。
这些程序片段使用对象建模。 它们的接口由一组特定的方法和属性组成。 接口的一部分的属性称为公共的。 其他外部代码不应该接触属性的称为私有的。
这些程序片段使用对象建模。 它们的接口由一组特定的方法method和属性property组成。 接口的一部分的属性称为公共的public。 其他外部代码不应该接触属性的称为私有的private
许多语言提供了区分公共和私有属性的方法,并且完全防止外部代码访问私有属性。 JavaScript 再次采用极简主义的方式,没有。 至少目前还没有 - 有个正在开展的工作,将其添加到该语言中。
即使这种语言没有内置这种区别JavaScript 程序员也成功地使用了这种想法。 通常,可用的接口在文档或数字一中描述。 在属性名称的的开头经常会放置一个下划线(`_`)字符,来表明这些属性是私有的。
将接口与实现分离是一个好主意。 它通常被称为封装。
将接口与实现分离是一个好主意。 它通常被称为封装encapsulation
### 6.2 方法