Всякий раз, когда вы создаете класс, спрашиваете "что он делает?" Методы идут в классе.
Вы должны смотреть в первую очередь с точки зрения человека , используя ваш Карел.
Here is myK he is a Karel
oh, I wonder what he can do ... hmmm looks like a Karel can jump
myK.jump(howHigh)
hey he jumped
wonder what else he can do ...
Чего этот человек не хочет, так это множества различных объектов myK, mySuperK, myColouredK для выполнения различных работ. Вы даете ему хороший связный и полный объект Карел.
Если вы чувствуете, что это приводит к очень большому классу "Karel", и вам нужна дополнительная организация, вы можете разложить реализацию Karel (например, колеса, ручки и т. Д.) Для выполнения различных задач, но снаружи это Karel. .