thp-web/md/learn/classes/static.md

58 lines
516 B
Markdown

# Static in classes
## Class constants
```thp
class Cat
{
// Stateful code
}
static Cat
{
const CONSTANT = "constant value"
}
print(Cat::CONSTANT)
```
## Static methods
aka. plain, old functions
```thp
static Cat
{
fun static_method() -> Int
{
// ...
}
}
Cat::static_method()
```
## Static properties
aka. global variables
```thp
static Cat
{
pub var access_count = 0
}
print(Cat::access_count) // 0
Cat::access_count += 1
print(Cat::access_count) // 1
```