Junior
Каква е разликата между статичен метод и метод на екземпляр?
sobes.tech AI
Отговор от 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("Извикана статична метода.");
Console.WriteLine(StaticData); // Достъп до статичното поле
// Console.WriteLine(InstanceData); // Грешка: няма достъп до полето на екземпляра
}
// Метод на екземпляра
public void InstanceMethod()
{
Console.WriteLine("Извикана метода на екземпляра.");
Console.WriteLine(StaticData); // Достъп до статичното поле
Console.WriteLine(InstanceData); // Достъп до полето на екземпляра
}
}
public class Program
{
public static void Main(string[] args)
{
// Извикване на статичната метода чрез името на класа
MyClass.StaticMethod();
// Създаване на екземпляр на класа
MyClass myObject = new MyClass();
// Извикване на метода на екземпляра чрез обекта
myObject.InstanceMethod();
}
}