как я понял один класс должен давать только доступ к данным
а работу самой данными (например создать копию при изменении\удалении данных, или запретить удаление вообще или какой то функционал я добавлю потом) реализовывать в другом классе
vrabeyА зачем он там есть то?
так исключение вызывается если в Data нет атрибута “get_data”.
но этот атрибут в классе Data как раз точно есть.