added object expression support to the site, tnbundle, etc
This commit is contained in:
1 parent
eec732d11a
commit
5fc0969491
5 files changed
+35
-11
No files matched your search
@@ -105,6 +105,22 @@ object Config {
|
||||
Config.show()
|
||||
```
|
||||
|
||||
### Object Expressions
|
||||
You can now create anonymous objects that inherit from classes or interfaces using the `object : Base { ... }` syntax. These expressions capture their lexical scope and support multiple inheritance.
|
||||
|
||||
```lyng
|
||||
val worker = object : Runnable {
|
||||
override fun run() = println("Working...")
|
||||
}
|
||||
|
||||
val x = object : Base(arg1), Interface1 {
|
||||
val property = 42
|
||||
override fun method() = this@object.property * 2
|
||||
}
|
||||
```
|
||||
|
||||
Use `this@object` to refer to the innermost anonymous object instance when `this` is rebound.
|
||||
|
||||
### Unified Delegation Model
|
||||
A powerful new delegation system allows `val`, `var`, and `fun` members to delegate their logic to other objects using the `by` keyword.
|
||||
|
||||
|
||||
Reference in new issue
Block a user