Само изучение WE и есть ООП, тк ты создаёшь и работаешь с объектами(структурами) вызываешь методы(изменение\создание и тд, хотя в варе это функции)
в vJass структура- это объект, и она имеет свои свойства и методы- для работы со свойствами.
пример сJass(тоже самое, но с блоками):
Код
struct StrUnit {
unit body
real hp
static StrUnit Create() {
StrUnit new=StrUnit.create(); //Выделяем память под "новое тело"
unit u=CreateUnit(Player(0),'hpea',0,0,0); //Создаём юнита
new.body=u; //Устанавливаем само "тело структуры"
new.hp=GetWidgetLife(u); //Устанавливаем свойство hp
return new //Возвращаем его индекс(на самом деле это массив, а структура это integer переменная)
}
void AddHP(real addHP) {
SetUnitLife(this.body,this.hp+addHP); //Добавляем к его hp, hp указанное в аргументах
}
}
На хгме было где то статья, где подробно описывается как делать контейнеры операции с структурами и тд.
Сюда, я думаю по поводу Jass нет смысла писать, тк тут, его знаю только я и ещё мб пару человек...