Главы 8-9 • Классы и модули
Классы и модули в SomonScript
Классы (classes) и модули (modules) помогают упорядочить код в средних и больших проектах. Здесь мы посмотрим, как создать простой класс и модуль.
1. Простой пример: класс ученика
Сначала создадим простой класс Донишҷӯ, у которого есть несколько свойств и один метод.
Класс ученика
Простой класс с конструктором и методом для вывода данных.
example.som
// Объявление класса ученика
синф Донишҷӯ {
ном: сатр;
синну_сол: рақам;
конструктор(ном: сатр, синну_сол: рақам) {
ин.ном = ном;
ин.синну_сол = синну_сол;
}
// Метод для вывода данных
нишон_додан(): беджавоб {
чоп.сабт("Донишҷӯ: " + ин.ном + ", синну сол: " + ин.синну_сол);
}
}
// Создание и использование объекта класса
тағ ахмад: Донишҷӯ = нав Донишҷӯ("Аҳмад", 20);
ахмад.нишон_додан();terminal
somon run classes.som
Донишҷӯ: Аҳмад, синну сол: 202. Пример посложнее: класс в отдельном модуле
Каждый файл .som - это модуль. В этом примере файл models.som экспортирует класс с помощью содир, а файл main.som импортирует его с помощью ворид.
Модуль с классами
Два файла в одной папке: models.som и main.som. Запустите программу командой somon run main.som.
example.som
// файл: models.som
содир синф Китоб {
ном: сатр;
муаллиф: сатр;
конструктор(ном: сатр, муаллиф: сатр) {
ин.ном = ном;
ин.муаллиф = муаллиф;
}
нишон_додан(): беджавоб {
чоп.сабт('"' + ин.ном + '" - ' + ин.муаллиф);
}
}
// файл: main.som
ворид { Китоб } аз "./models";
тағ китоб: Китоб = нав Китоб("SomonScript", "Гурӯҳи SomonScript");
китоб.нишон_додан();terminal
somon run main.som
"SomonScript" - Гурӯҳи SomonScript3. Упражнения
Эти упражнения помогают закрепить понимание классов и модулей.
- Создайте класс Мошин со свойствами ном (название), сол (год), ранги_мошин (цвет машины) и методом нишон_додан().
- Создайте модуль, который экспортирует два класса, Муаллим и Донишҷӯ, и используйте их в отдельном файле.
- Создайте класс Ҳисобкунак (Calculator) с методами сложения, вычитания, умножения и деления и поместите его в модуль.