← Back to Docs
Classes
Every VDX program is organized into classes. A class is the top-level container for all code — variables, functions, and statements.
Syntax
class ClassName {
// variables, functions, statements
}Rules
- Every
.vdxfile must contain at least one class - Class names must start with a letter or underscore
- Code outside a class is not allowed
- A file can contain multiple classes — they run in order
Execution order
Inside a class, VDX does two passes:
- Register all functions (so you can call them before they appear in code)
- Execute all non-function statements top-to-bottom
class App {
// This works — greet() is registered in pass 1
greet();
fn greet() {
print("hello");
}
}Multiple classes
class First {
print("I run first");
}
class Second {
print("I run second");
}Classes as blueprints
Classes can also be used as blueprints for object instantiation with new. See Objects (new).
class Point {
let x: int = 0;
let y: int = 0;
}
class Main {
let p = new Point();
p.x = 10;
print(p.x); // 10
}