小编qaz*_*qaz的帖子

非常困惑的是这个"oop under-the-hood"计数器的例子如何运作

这是make-counter程序并调用它

(define make-counter
    (let ((glob 0))
        (lambda ()
            (let ((loc 0))
                (lambda ()
                    (set! loc (+ loc 1))
                    (set! glob (+ glob 1))
                    (list loc glob))))))

> (define counter1 (make-counter))
 counter1

> (define counter2 (make-counter))
 counter2

> (counter1)
(1 1)

> (counter1)
(2 2)

> (counter2)
(1 3)

> (counter1)
(3 4)
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么glob表现为类变量,而loc表现为实例变量.

lisp oop scheme functional-programming racket

3
推荐指数
1
解决办法
110
查看次数

java 程序中的“世界”访问级别是什么?

Access Levels
Modifier        Class   Package Subclass    World
public            Y       Y       Y          Y
protected         Y       Y       Y          N
(Default)         Y       Y       N          N
private           Y       N       N          N
Run Code Online (Sandbox Code Playgroud)

“世界”访问级别是什么?它与包访问级别有何不同?

编辑:我的错。有一个谬论,即程序中的所有代码都在一个包中。

java oop public

2
推荐指数
1
解决办法
752
查看次数

标签 统计

oop ×2

functional-programming ×1

java ×1

lisp ×1

public ×1

racket ×1

scheme ×1