Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Статические и нестатические методы: C#

Захар Кудрявцев Ученик (89), закрыт 4 года назад
Если обычный метод относится к объекту класса, к какой сущности относится статический метод?
Лучший ответ
Николай Веселуха Высший разум (380430) 4 года назад
Для вызова нестатического метода требуется ссылка на экземпляр класса. Для статического метода такая ссылка не нужна, достаточно получить доступ к области видимости данного метода.
Остальные ответы
арвар аврвар Мастер (1868) 4 года назад
К классу (пространству имен, программе?). Вопрос вообще какую ценность несет? По моему ответ на него не дает в реальности никаких знаний.
Захар КудрявцевУченик (89) 4 года назад
Спасибо. Я просто конкретно запутался в классе, типе класса, объекте и экземпляре. Но сейчас стало понятнее. Спасибо
Захар Кудрявцев, статический метод - это по сути обычная функция, как в не ООП языках. Он не получает ссылку на какую-либо сущность. Обычный метод получает ссылку на объект.
Medvezhonok Мыслитель (7573) 4 года назад
Дело в том, что бывают случаи, когда не нужен экземпляр (объект) класса для использования метода. Например, есть класс Math (математические функции). Вот тебе нужно возвести число n в какую-то степень k. Для этого не нужно создавать объект, а ты просто вызовешь Math.Pow(n, k);
Jurijus Zaksas Искусственный Интеллект (467304) 4 года назад
По сути, все методы (не путать со свойствами) относятся к классу, а не к объекту. Т. е. при создании нового объекта память выделяется только под его свойства, программный код не дублируется никогда.
Единственное отличие в том, что статическому методу запрещено использовать поля объекта (указатель this).
Похожие вопросы