Junior — Middle
У чему се састоји разлика између нестатичне и статичне класе у програмирању?
sobes.tech АИ
Одговор од АИ
U programiranju, statička klasa je klasa koja se ne može instancirati i sadrži samo statičke članove (metode, svojstva). Koristi se za grupisanje funkcija i podataka koji nisu zavisni od konkretnog objekta.
Nestatička klasa je obična klasa, čije instance mogu biti kreirane. Može sadržavati i statičke i nestatičke članove, a stanje svakog objekta se čuva odvojeno.
Glavne razlike:
-
Kreiranje instanci:
- Statička klasa se ne može kreirati (poziv new StaticClass() izazvaće grešku).
- Nestatička klasa može kreirati i koristiti objekte.
-
Članovi klase:
- U statičkoj klasi, svi članovi moraju biti statički.
- U nestatičkoj klasi, mogu biti i statički i nestatički članovi.
-
Korišćenje:
- Statička klasa je pogodna za pomoćne funkcije koje ne zahtevaju stanje.
- Nestatička klasa se koristi kada je potrebno čuvati stanje i ponašanje objekata.
Primer statičke klase u C#:
public static class MathUtils
{
public static int Add(int a, int b) => a + b;
}
// Korišćenje:
int sum = MathUtils.Add(3, 4);
Primer nestatičke klase:
public class Person
{
public string Name { get; set; }
public void SayHello()
{
Console.WriteLine($"Zdravo, moje ime je {Name}");
}
}
// Korišćenje:
Person p = new Person { Name = "Alice" };
p.SayHello();