Объектно-ориентированное программирование: различия между версиями

== Классы, объекты и ссылки ==
 
Свойство: Так как мы обсуждаем языки ООП, то после этого введения, начнём обсуждать ''классы'' и ''объекты''. Я надеюсь, что каждый ясно понимает разницу между этими двумя терминами. В двух словах, ''класс'' - это тип данных, а ''объект'' - экземпляр типа класс. Как нам теперь использовать объекты в языках, использующих различные объектные модели?
 
'''C++''': в С++, если у нас есть класс ''MyClass'' с методом ''MyMethod'', мы можем написать:
 
<source lang=cpp>MyClass Obj;
Obj.MyMethod();</source>
 
и получить объект класса ''MyClass'' с именем ''Obj''. Память для этого объекта обычно выделяется в стеке, и вы можете сразу начать использовать объект, как это сделано во второй строке.
 
'''Java''': в Java подобная инструкция выделяет только место для хэндла объекта, а не для самого объекта:
 
<source lang=java>MyClass Obj;
Obj.MyMethod();</source>
 
OP: '''Object Pascal''': использует подобный подход, но (к сожалению) требует отдельных предложений для объявления и инициализации:
 
<source lang=delphi>var
46

правок