OOP - 对象和实例

时间:2013-05-04 15:06:12

标签: oop

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

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

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

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

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

我传递了标题和按钮标签的参数以及括号内的参数 - 在此示例的上下文中,我正确地说我的classGameMenu,我的{{1} }收集objectsMainMenuLevelMenu,我的OptionMenu是一个特定对象,因此instances是一个实例,MainMenu是一个实例OptionMenu是一个实例。

这就是我所教的内容,但这意味着对象和实例完全相同,在这种情况下,术语对象和实例是彼此的同义词,这不是我读过的内容?

长话短说, LevelMenuobject个词同义词

3 个答案:

答案 0 :(得分:2)

objectinstance

class

答案 1 :(得分:0)

答案 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`