Подскажите, пожалуйста.
При создании экземпляра класса в C# выделяется память под него в управляемой куче, он может хранить в себе только не статические поля класса - это понятно, а где же хранятся методы и статика? На одном курсе на youtube смотрел видео, где человек рассказывал, что методы и статика хранится в объекте, но ведь я полагал, что экземпляр и объект одно и тоже?
В Интерфейсе обязательно все методы реализовывать?
Ответ
Если коротко, есть объект-тип, и экземпляр объекта, который имеет ссылку на объект-тип. Они оба находятся в куче. Статические поля находятся в составе объекта-типа. Объект тип всегда один, и он так же находится в куче.
Подробно про это можно узнать в книге Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET. в 4 главе.
Комментариев нет:
Отправить комментарий