我正在尝试理解面向对象。我当然有点理解,但有时我不是 100% 清楚。你如何决定什么应该变成一个对象(另一个大整体对象的小对象部分)或者什么不值得成为一个对象,或者它应该只是那个大整体对象的一个属性?
对于一扇门,我猜门 Handlebars 应该是一个独立的物体,但是中间插入 key 的那部分也应该是一个独立的物体还是什么?这是一个简单的例子,所以我可以解释我的困惑。如果你的例子可以帮助你更好地说明你的观点,你可以使用它。
我在想,如果我要多次使用它,我应该把它变成一个对象。我认为这是解决此问题的实用方法,您同意吗?
谢谢
最佳答案
与往常一样,不幸的是,答案是:这取决于...
一开始,您有某种环境,并且想要为其创建模型。但是你不会对每件事都建模,你会专注于重要的事情。这就是我开始的原因:这取决于。这取决于您完成任务所需的详细信息。
拿汽车和它的轮子来说——如果你对一个城市建模并想要一些交通,你可以创建一个带有属性“numberOfWheels”的“Car”类。但是,如果您设计汽车,那么您很可能还想创建一个“Wheel”类并将其中的四个添加到“Car”类中。
经验法则:
编辑
因为您强调了“多次使用”方面:我认为这不是决定是否使用类的方面。想想一个简单的计数器,一个 for 循环中的整数值。你会使用这个概念数百次,但我敢打赌你永远不会想到包装这个可怜的小
int
进入“计数器”类 - 只是因为您多次使用“计数器的概念”。
关于language-agnostic - OOP:什么时候是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1819444/