File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -14,11 +14,11 @@ next-page: regular-expression-patterns
14
14
previous-page : pattern-matching
15
15
---
16
16
17
- 单例对象是一种特殊的类,有且只有一个实例。和惰性变量一样,单例对象是延迟创建的,当它被引用到的时候创建 。
17
+ 单例对象是一种特殊的类,有且只有一个实例。和惰性变量一样,单例对象是延迟创建的,当它第一次被使用时创建 。
18
18
19
- 作为一个顶级值 ,单例对象只有一个实例。
19
+ 当对象定义于顶层时(即没有包含在其他类中) ,单例对象只有一个实例。
20
20
21
- 作为一种包装类,或者局部值 ,单例对象表现得和惰性变量一样。
21
+ 当对象定义在一个类或方法中时 ,单例对象表现得和惰性变量一样。
22
22
23
23
# 定义一个单例对象
24
24
一个单例对象是就是一个值。单例对象的定义方式很像类,但是使用关键字 ` object ` :
@@ -52,7 +52,7 @@ class Test {
52
52
53
53
因为 import 语句 ` import logging.Logger.info ` ,方法 ` info ` 在此处是可见的。
54
54
55
- import语句要求被导入的标识具有一个“静态位置 ”,一个单例对象由于全局唯一,所以具有静态位置 。
55
+ import语句要求被导入的标识具有一个“稳定路径 ”,一个单例对象由于全局唯一,所以具有稳定路径 。
56
56
57
57
注意:如果一个 ` object ` 没定义在顶层而是定义在另一个类或者单例对象中,那么这个单例对象和其他类普通成员一样是“路径相关的”。这意味着有两种行为,` class Milk ` 和 ` class OrangeJuice ` ,一个类成员 ` object NutritionInfo ` “依赖”于包装它的实例,要么是牛奶要么是橙汁。 ` milk.NutritionInfo ` 则完全不同于` oj.NutritionInfo ` 。
58
58
You can’t perform that action at this time.
0 commit comments