Sobes.tech
Junior
115
questionbank

В чем diferença между статическим методом и методом экземпляра?

Answer from AI

sobes.tech AI

Статический метод принадлежит классу и вызывается без создания экземпляра объекта. Метод экземпляра принадлежит экземпляру класса и вызывается через созданный объект.

Основные отличия:

Критерий Статический метод Метод экземпляра
Принадлежность Классу Экземпляру класса
Вызов Через имя класса Через экземпляр объекта
Доступ к данным Только к статическим членам класса К статическим членам класса и данным экземпляра
Ключевое слово static Отсутствует (по умолчанию)
using System;

public class MyClass
{
    // Статическое поле
    public static string StaticData = "This is static data";

    // Поле экземпляра
    public string InstanceData = "This is instance data";

    // Статический метод
    public static void StaticMethod()
    {
        Console.WriteLine("Static method called.");
        Console.WriteLine(StaticData); // Доступ к статическому полю
        // Console.WriteLine(InstanceData); // Ошибка: нет доступа к полю экземпляра
    }

    // Метод экземпляра
    public void InstanceMethod()
    {
        Console.WriteLine("Instance method called.");
        Console.WriteLine(StaticData); // Доступ к статическому полю
        Console.WriteLine(InstanceData); // Доступ к полю экземпляра
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        // Вызов статического метода через имя класса
        MyClass.StaticMethod();

        // Создание экземпляра класса
        MyClass myObject = new MyClass();

        // Вызов метода экземпляра через объект
        myObject.InstanceMethod();
    }
}