我看过很多关于对象,类和实例的帖子,并且变得有点困惑。我需要澄清以下示例。
假设我创建了一个游戏,它有三个菜单:
现在说我定义了一个名为GameMenu
的类,因为所有这些菜单都有标题,说明和按钮等...然后我使用这个类实例化我的菜单,例如:
MainMenu = GameMenu();
LevelMenu = GameMenu();
OptionMenu = GameMenu();
我传递了标题和按钮标签的参数以及括号内的参数 - 在此示例的上下文中,我正确地说我的class
是GameMenu
,我的{{1} }收集objects
,MainMenu
和LevelMenu
,我的OptionMenu
是一个特定对象,因此instances
是一个实例,MainMenu
是一个实例OptionMenu
是一个实例。
这就是我所教的内容,但这意味着对象和实例完全相同,在这种情况下,术语对象和实例是彼此的同义词,这不是我读过的内容?
长话短说, LevelMenu
和object
个词同义词?
答案 0 :(得分:2)
object
是instance
class
答案 1 :(得分:0)
是的,你是对的。对象和实例是同义词。 http://en.wikipedia.org/wiki/Instance_(computer_science) http://en.wikipedia.org/wiki/Object_(computer_science)
答案 2 :(得分:0)
对象和实例几乎可以在OOP的上下文中同义使用,但实例是一个更通用的术语。
例如:对象是类的实例,进程也是程序的实例。
在实践中,除非我们根据它作为实例的类来讨论它,否则将对象称为实例听起来很奇怪(至少对我而言)。
使用以下代码:
Foo a = new Foo();
function int bar(Foo f) { return 0; }
我会说:
`Foo` is a class.
`a` is an object.
`a` is an instance of Foo.
Function `bar` accepts instances of the class `Foo`