37 lines
934 B
Plaintext
37 lines
934 B
Plaintext
|
|
static box Main {
|
|||
|
|
init { console }
|
|||
|
|
|
|||
|
|
main() {
|
|||
|
|
me.console = new ConsoleBox()
|
|||
|
|
|
|||
|
|
box User {
|
|||
|
|
private { age, passwordHash }
|
|||
|
|
public { name }
|
|||
|
|
|
|||
|
|
init { name, age }
|
|||
|
|
|
|||
|
|
birth(n, a) {
|
|||
|
|
me.name = n
|
|||
|
|
me.age = a
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
setAge(a) {
|
|||
|
|
me.age = a # private だが内部からなのでOK
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
getAge() {
|
|||
|
|
return me.age # private を内部参照(OK)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
local u = new User("Alice", 20)
|
|||
|
|
me.console.log("name(public)=" + u.name) # OK: public
|
|||
|
|
u.name = "Bob" # OK: public set
|
|||
|
|
|
|||
|
|
me.console.log("age(private, internal)=" + u.getAge()) # OK: 内部アクセス
|
|||
|
|
u.setAge(21) # OK: 内部でprivate set
|
|||
|
|
me.console.log("done")
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|