Вы наследуете атрибуты класса, а не конструкторы классов. Вот как это происходит:
Если конструктор не добавлен в суперкласс, если нет, компилятор добавляет конструктор без аргументов. Этот конструктор по умолчанию вызывается неявно при создании нового экземпляра подкласса. Здесь подкласс может иметь или не иметь конструктор, все в порядке.
если в суперклассе предусмотрен конструктор, компилятор увидит, является ли он конструктором без аргументов или конструктором с параметрами.
если аргументов нет, компилятор вызовет его для любого экземпляра подкласса. Здесь также подкласс может иметь или не иметь конструктор, все в порядке.
если 1 или более конструкторов в родительском классе имеют параметры, а конструктор args отсутствует, то у подкласса должен быть хотя бы 1 конструктор, в котором неявный вызов для конструкции родительского класса выполняется через super (parent_contractor params). 1009 *
Таким образом, вы уверены, что унаследованные атрибуты класса всегда создаются.