0

我看过很多关于对象、类和实例的帖子,有点困惑。我需要澄清以下示例。

假设我创建了一个游戏,它有三个菜单:

  • 主菜单,
  • 级别菜单
  • 选项菜单。

现在假设我定义了一个名为的类,GameMenu因为所有这些菜单都会有标题、说明和按钮等......然后我使用这个类来实例化我的菜单,例如:

MainMenu = GameMenu();
LevelMenu = GameMenu();
OptionMenu = GameMenu();

我在括号内传递了标题和按钮标签等参数 - 在本示例的上下文中,我是否正确地说 my classis GameMenu, my objectsare COLLECTIVELY MainMenuLevelMenuandOptionMenu和 myinstances是一个特定对象,所以MainMenu是一个实例,OptionMenu是一个实例,LevelMenu是一个实例。

那是我所学的,但这意味着对象和实例是完全相同的东西,在这种情况下,术语对象和实例是彼此的同义词,这不是我读过的吗?

长话短说,objectinstance术语是同义词吗?

4

3 回答 3

2

一个objectinstance一个class

于 2013-05-04T15:10:38.783 回答
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`
于 2013-05-04T15:36:04.023 回答
0

是的,你这么说是对的。对象和实例是同义词。 http://en.wikipedia.org/wiki/Instance_(computer_science) http://en.wikipedia.org/wiki/Object_(computer_science)

于 2013-05-04T15:17:13.263 回答