【发布时间】:2020-06-19 06:17:40
【问题描述】:
我是编程新手,已经开始学习面向对象编程。似乎 OOP 用于模拟现实生活中的对象和交互。 我的问题是,无生命的物体应该有行为吗?
例如我应该有类似的东西
class Room:
clean()
or
class User:
clean_room(Room)
【问题讨论】:
标签: oop
我是编程新手,已经开始学习面向对象编程。似乎 OOP 用于模拟现实生活中的对象和交互。 我的问题是,无生命的物体应该有行为吗?
例如我应该有类似的东西
class Room:
clean()
or
class User:
clean_room(Room)
【问题讨论】:
标签: oop
好问题!你应该两者都有。
房间绝对可以有一个 clean() 方法,即使它是无生命的。事实上,这实际上是必要的。如果您将房间传递给用户,他们仍然必须调用 Room 类中的一些公共方法来执行清洁。 clean() 将是一个合适的方法。事实上,存在 public 方法,因此它们可以在类的外部被其他类使用。
为了能够告诉用户他/她应该打扫房间,您还需要用户类中的 clean_room() 方法。然后,此方法将调用 Room 对象的 clean() 方法。
【讨论】: