Страницы

Поиск по вопросам

суббота, 6 октября 2018 г.

Классы и объекты в C#?

Подскажите, пожалуйста.
При создании экземпляра класса в C# выделяется память под него в управляемой куче, он может хранить в себе только не статические поля класса - это понятно, а где же хранятся методы и статика? На одном курсе на youtube смотрел видео, где человек рассказывал, что методы и статика хранится в объекте, но ведь я полагал, что экземпляр и объект одно и тоже? В Интерфейсе обязательно все методы реализовывать?


Ответ

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

Комментариев нет:

Отправить комментарий