Создание новых объектов
Создание новых объектов
Чтобы создать объект, классу посылается сообщение о создании нового экземпляра. Класс создает экземпляр с присущей всем объектам этого класса структурой - набором переменных экземпляра.
Если нужно, он их инициализирует и выдает созданный экземпляр в качестве ответа на сообщение.
Например: x := Array NEW: 10. (создается новый объект, с именем x, класса Array, размера 10).
Для того чтобы обратиться к нужному методу экземпляра класса, необходимо, чтобы уже существовал экземпляр класса.
Например, при выполнении следующего выражения ('выполнить')
ДемоКласс запустить.
компилятор выдает ошибку, т.к. здесь сообщение посылается классу, а в протоколе сообщений класса такого метода нет. Метод 'запустить' находится в протоколе сообщений экземпляра класса. Поэтому необходимо сначала создать экземпляр класса:
ДемоКласс новыйЭкземпляр запустить.
Возможно создание нового экземпляра в результате выполнения некоторых сообщений. Например:
'Привет,',' мартышка' (создается новый экземпляр класса "Строка", имеющий значение 'Привет, мартышка');
1 / 2 (объект-адресат и объект-параметр экземпляры класса "Целое", а результат - экземпляр класса "Дробь");
1 > 2 (результат - экземпляр класса False).