На этом шаге мы рассмотрим назначение этих сущностей.
Начиная с этого шага, вы узнаете, как объявлять и использовать интерфейсы и абстрактные классы в Kotlin.
Интерфейс позволяет перечислить общие свойства и поведение набора классов без их реализации. Эта особенность - что без как - полезна, если наследование не точно отражает отношения между классами в программе. Используя интерфейсы, группа классов может иметь общие свойства и функции, не наследуя общий суперкласс и не являясь подклассами друг друга.
Вы также познакомитесь с абстрактными классами, гибридом между классами и интерфейсами. Абстрактные классы похожи на интерфейсы, позволяя определить что без как, но объявляют конструкторы и могут выступать в роли суперкласса.
Эти новые идеи позволят добавить удивительную возможность в NyetHack: теперь, когда ваш герой может перемещаться, мы добавим систему боя, чтобы разобраться со злодеями, встреченными по пути.
На следующем шаге мы рассмотрим объявление интерфейса.