doc: add book,internal,reference,builtins sections

This commit is contained in:
samsonium
2026-10-19 11:11:43 +03:00
parent 306be6b82d
commit 81d07aa6e5
14 changed files with 420 additions and 2 deletions
+46
View File
@@ -0,0 +1,46 @@
# Классы и объекты
Класс описывается блоком с полями и методами:
```
class Point
{
int x;
int y;
fn move(int dx, int dy)
{
this.x = this.x + dx;
this.y = this.y + dy;
}
}
```
Методы обращаются к полям текущего экземпляра через обязательное имя `this`.
## Создание экземпляра
Экземпляр создаётся выражением `new ClassName`:
```
Point point = new Point;
point.x = 1;
point.y = 2;
point.move(9, 8);
```
Объект выделяется с количеством слотов, равным числу полей класса.
Поля читаются и изменяются через точку.
Поддерживаются цепочки вроде `list.next.sum()`.
Имя класса выступает типом объекта.
Переменная может содержать `null`, а объекты одного класса совместимы между собой.
Сравнение == и != проверяет идентичность экземпляра, а не содержимое полей.
Неизвестный класс или поле приводит к ошибке компиляции.
---
Далее: [Модель памяти](./06_memory-model.md)
Назад: [Функции и рекурсия](./04_functions-and-recursion.md)