Объектно-ориентированное программирование: различия между версиями
Содержимое удалено Содержимое добавлено
Freezeman (обсуждение | вклад) →Шаблоны (обобщенное программирование): STL и контейнеры Java |
Freezeman (обсуждение | вклад) →Деструкторы и финализация: добавлено о Java и Си++ |
||
Строка 170:
=== Деструкторы и финализация ===
Свойство: Деструктор играет роль противоположную конструктору и обычно вызывается при уничтожении объекта. Если конструктор нужен большинству классов, то только некоторые из них нуждаются в деструкторе. Деструктор в основном
'''C++:
'''OP:
'''Java:''' В Java нет деструкторов. Объекты, на которые нет ссылок, уничтожаются сборщиком мусора, который работает в виде фоновой задачи и делает это автоматически (как описывалось ранее). Прежде чем уничтожать объект, сборщик мусора должен вызвать метод ''finalize()''. Однако нет никакой гарантии, что этот метод вызывается в каждой JVM. По этой причине, если вам нужно освободить ресурсы, вы должны добавить какой-нибудь метод
== Инкапсуляция (Private и Public) ==
|