Должны ли неодушевленные объекты иметь методы / поведение в объектно-ориентированном программировании? - PullRequest
2 голосов
/ 19 июня 2020

Я новый пользователь программирования и начал изучать объектно-ориентированное программирование. Кажется, OOP используется для моделирования реальных объектов и взаимодействий. Мой вопрос: должны ли неодушевленные предметы иметь поведение?

Например, должно ли быть что-то вроде

class Room:
    clean()

or

class User:
    clean_room(Room)

1 Ответ

1 голос
/ 19 июня 2020

Хороший вопрос! У вас должны быть оба.

В комнате определенно может быть метод clean (), даже если он неодушевленный. На самом деле это практически необходимо. Если вы передадите комнату пользователю, ему все равно придется вызвать некоторый метод publi c в классе Room для выполнения уборки. clean () будет подходящим методом для этого. Фактически существуют методы publi c, поэтому они могут использоваться извне класса каким-либо другим классом.

Чтобы иметь возможность сообщить пользователю, что он / она должен убрать комнату, вам также понадобится метод clean_room () в классе User. Затем этот метод вызовет метод clean () объекта Room.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...