Это вопрос объема. Ваша функция left_over()
- это метод для Budget
, который является отдельной вещью. Тем не менее, вы хотите иметь метод, который делает поиск из ряда бюджетов. Метод, который вы написали, не может этого сделать, потому что экземпляр может знать только о себе. Как может Budget
за 2009 год узнать цифры за 2010 год?
Вам нужен объект Budgets
, который имеет коллекцию Budget
в качестве атрибута, и функцию-член left_over()
, которая возвращает что угодно для данного Budget
в своей коллекции. Конечно, единственный способ получить эту информацию - это метод для итерации по коллекции, который будет работать гораздо менее эффективно, чем предложение WHERE в обычной таблице, но, похоже, является стандартным подходом в практике работы с данными ОО.