Коротко: Подробно с примерами: Мы уже узнали, что абстрактный класс может хранить в себе атрибуты и методы, а значит он содержит в себе и состояние, и поведение. Интерфейс хранит в себе методы и описывает только поведение. Разберем более подробно на старом добром примере. У нас есть абстрактный класс Person и от него наследуются 3 класса - Маг, Воин и Охотник. Сделать наследование было логичным решением, чтобы не дублироваться в написании кода, у каждого из персонажей есть параметры здоровья и защиты, а так же каждый владеет методами боевого клича и контратаки. Теперь мы хотим добавить еще персонажей. Добавим к нашему бравому отряду живых еще летающего Грифона и возьмем из легиона мертвецов Некроманта, а так же Костяного дракона. Новые персонажи тоже могут наследоваться от класса Person, у них тоже есть параметры здоровья, защиты, а также навык боевого клича. Здорово. А что есть общего, например у Грифона и Костяного дракона? Правильно! Они умеют летать, по сути их можно объединить