Я согласен не выбрасывайте этот объект он в настоящее время передается по ссылке .. Существует особый случай, я могу думать о том, когда нересте объектов, где класс Обертывания другого класса и распределяет объекты: Вы не хотите, чтобы объект не был ссылкой на тот же самый, чтобы вы клонировали или передали копию объекта и уничтожили оригинал, однако, если оригинал является стандартным образом для всех икр этого типа, объект не создается специально для каждого звоните, и вы ожидаете появления цифр в течение короткого периода времени, вы можете захотеть сохранить его, так как вы можете создать новый объект из этого изображения, не создавая его снова. Я бы выбрал блокировку всех свойств для этого только для чтения и readonly object к объекту read/write, который может использоваться в reallworld. Объект не должен запускать какие-либо потоки внутри себя, когда он передается как значение copy или clone, однако, если он является потоковым, он отлично переносит его ссылку, если ссылка является отношением от 1 до 1, если у вас есть несколько указателей к объекту, который одновременно считывает и записывает этот объект «запущенного изображения», вы можете начать иметь коллизии, где значение не было сохранено безопасно, а следующий пингер запрашивает и присваивает то же значение. Одна вещь, которую мы не обсуждали, когда я училась в школе, - это состояние объекта. Объектно-ориентированные руководители были укоренились, но понимание того, почему они были созданы, всегда занимало время. Я заложник, я изучил объектно-ориентированный стиль, а затем перешел к более процедурным стилям.
Совет. Ответственность за удаление объекта не несет метод. Это задача вызывающего. Он * является * обязанностью метода распоряжаться любыми ресурсами, которые он создал, если это необходимо. – AMissico
@AMissico: «Ответственность за возврат объекта не несет ответственность за метод». К сожалению, это не так. Для некоторых методов и некоторых геттеров свойств вызывающий объект отвечает за удаление возвращаемого объекта, а для других - нет, поскольку объект кэшируется где-то и располагается где-то в другом месте. По-видимому, нет простого правила узнать, кроме проб и ошибок. – Niki
Кроме того, и кто-то исправит меня, если я ошибаюсь, ваша последняя строка никогда не будет вызвана так или иначе, так как обратный выход выходит из метода. –