какой смысл было вводить оператор new Object() в языки,
если это обычное выделение памяти под объект, т.е. функция
https://modula3.github.io/cm3/reference/new.html ?
Здравствуйте, Разраб, Вы писали:
Р>какой смысл было вводить оператор new Object() в языки,
Р>если это обычное выделение памяти под объект, т.е. функция https://modula3.github.io/cm3/reference/new.html ?
Как бы new это не только выделение памяти под объект.
А с учетом того, что new появился в языке Simula, если не ошибаюсь, задолго до рождения Modula-3, то скорее следует спросить а почему в Modula-3 решили отказаться от этой традиции.
Ну и, например, в Eiffel обошлись без введения new в языке. Там используется слово create
Здравствуйте, Разраб, Вы писали:
Р>какой смысл было вводить оператор new Object() в языки,
Р>если это обычное выделение памяти под объект, т.е. функция https://modula3.github.io/cm3/reference/new.html ?
Выделение памяти — это malloc, а new — это создание объекта. Бывают такие new, которые размещают объект в уже выделенной памяти.
Здравствуйте, Разраб, Вы писали:
Р>какой смысл было вводить оператор new Object() в языки,
Р>если это обычное выделение памяти под объект, т.е. функция https://modula3.github.io/cm3/reference/new.html ?
Абсолютно бесполезно, особенно если учесть что объекты явно создавать в ооп вредно.
Лучше их создавать и подготавливать к использованию через вспомогательный объект (dependency inversion).