我知道这种问题以前已经被问过了,但我仍然觉得答案对我(以及一些/大多数初学者)来说太模糊了。
我一直在尝试自学编程的更广泛概念,而不仅仅是过程性和基本面向对象编程。我理解面向对象编程的具体概念(你创建一个类,其中包含数据(成员)和函数(方法),然后在运行时实例化该类以实际执行操作,那种东西)。
我认为我已经掌握了类是什么(有点像在编译时创建实例的设计蓝图)。但如果是这样,那么对象又是什么呢?我也知道,在基于原型的语言中,这可能会让事情变得更加混乱,但也许这就是为什么在我的思维中需要清晰区分对象和实例的原因。
除此之外,我对“对象”和“实例”的概念感到困惑。我读过许多资源(包括SO上的答案),它们说它们大体相同,区别在于语义。其他人则说两者之间存在真正的概念差异。SO的专家能够帮助初学者达到“恍然大悟”的境界,进入面向对象编程的世界吗?
注:这不是作业,我不是学生——然而,我认为这会帮助那些正在寻找作业帮助的人们。