2013-05-04 3 views
0

Я видел много сообщений об объектах, классах и экземплярах и немного запутался. Мне нужно уточнить следующий пример.OOP - объекты и экземпляры

Скажем, я создать игру, у него есть три меню:

  • главное меню,
  • уровень меню
  • меню опций.

Теперь предположит, что я определяю класс под названием GameMenu, так как все это меню будет иметь названия и инструкцию и кнопку и т.д. ... Затем я инстанцирую свое меню с помощью этого класса, например:

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

И я прохожу параметры для заголовков и меток кнопок и таких в скобках - в контексте этого примера я прав, говоря, что мой class является GameMenu, мой objects собирательно MainMenu, LevelMenu и OptionMenu, и мой instances являются одним конкретным объектом так MainMenu - экземпляр, OptionMenu - это экземпляр, а LevelMenu - это экземпляр.

Это то, чему меня учили, но это означает, что объекты и экземпляры - это то же самое, в чем заключаются термины «объект» и «экземпляр» являются синонимами друг друга, которые не являются тем, что я читал?

Краткая история, object и instance термины синонимы?

ответ

2

object является instance из class

0

объекта и экземпляр может быть использован практически синонимично в контексте объектно-ориентированного программирования, однако экземпляр является более общим термином.

Например: объект является экземпляром вне класса, а также процесс является экземпляром программы.

На практике это звучит странно (по крайней мере для меня), чтобы ссылаться на объект как на экземпляр, если мы не говорим об этом в терминах класса, экземпляром которого он является.

С помощью следующего кода:

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` 
Смежные вопросы