ООП

Поговорим про наследование, ведь zenScript считается полноценным ЯП.

Создадим virtual класс myEntity, у которого будет параметр имени и метод move, не имеющий пока что действий.

Пример

public virtual class myEntity {
    public val name as string;
    public this(name as string) {
        this.name = name;
    }
    
    public move() as void {
        
    }
}

virtual означает, что мы сможем переопределить функции класса и сам класс. Создадим новый класс myFish и через : напишем myEntity. : - это будет значить, что мы наследуемся от следующего класса.

Пример

public class myFish : myEntity {
    public this() {
        super("bat");
    }
}

Про suepr прочитайте в документации по Java. Переопределим наш метод move из класса myEntity в классе myFish с помощью override. Сделаем так, чтобы при вызове метода move в консоль выводилось какое-то сообщение.

public override move() {
    println("Существо " + this.name as string + " перемещается !");    
}

Если мы вызовем данный метод, нам напечатается сообщение в crafttwekaer.log.

Пример

new myFish().move();

Полный Код

public virtual class myEntity {
    public val name as string;
    public this(name as string) {
        this.name = name;
    }
    
    public move() as void {
        
    }
}

public class myFish : myEntity {
    public this() {
        super("bat");
    }

    public override move() {
        println("Существо " + this.name as string + " перемещается !");
    }
}

Last updated