Metoda statyczna klasy a zwykła metoda klasy.

0

Mógłby mi ktoś wyjaśnić jaka jest tak na prawdę różnica między statyczną funkcją klasy a zwykłą funkcją składową klasy? Jedyną przydatną opcją w statycznych metodach według mnie jest to że można je wywoływać jeszcze przed stworzeniem jakiegokolwiek obiektu danej klasy, i na tym plusy chyba się kończą. Pomijając tego plusa to równie dobrze metoda statyczna mogłaby być zwykłą metodą i wszystko pięknie by działało. Do czego tak konkretnie używa się tych statycznych metod?
Druga sprawa: w jaki sposób w funkcjach statycznych odwoływać się do normalnych niestatycznych składowych?

Odbiegając trochę od tematu funkcji, ale nadal będąc przy statycznych obiektach w klasach. Grębosz napisał:

"Typ składnika statycznego nie jest wzbogacony o nazwę klasy. To znaczy jego typ jest taki, jakby został zdefiniowany jako zwykła zmienna globalna."
Jakie to ma w ogóle znaczenie, tego nawet się nie obserwuje w programie?

1

Metody statyczne tworzysz jeżeli jakaś funkcja / metoda dotyczy klasy jako całości a nie konkretnego obiektu tej klasy. Metoda taka nie może sięgać do niestatycznych pól klasy, jak już sam powiedziałeś nie są one wykonywane na rzecz żadnego obiektu, nie mają wskaźnika this. To też już wiesz - metody statyczne to tak na prawdę zwykłe funkcje z tą różnicą że mogą odwoływać się do prywatnych i chronionych pól statycznych klasy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1