Мне трудно понять, как классы относятся к их методам. Является ли метод тем, что делает объект, или что-то, что он сделал? Или это совсем другое понятие?
В частности, в программной системе библиотеки, если метод borrow()
принадлежит классу, представляющему патрона библиотеки, или классу, представляющему элемент, который заемщик занимает? Моя интуиция заключается в том, что она должна читаться как patron.borrow(copy)
, например, структура английского предложения, subject.verb(object)
; но мой инструктор говорит, что это неправильно, и я не понимаю, почему он должен был borrow()
принадлежать классу Copy
(и он не слишком хорошо объясняет ситуацию). Я не ищу оправдания, но может ли кто-то просто объяснить правильные отношения?
Изменить: этот вопрос был закрыт как "вне темы". Я не понимаю. Вопросы по дизайну программного обеспечения не подходят для этого сайта?