Razlika između statičke i nestatičke metode

Razlika između statičke i nestatičke metode
Razlika između statičke i nestatičke metode

Video: Razlika između statičke i nestatičke metode

Video: Razlika između statičke i nestatičke metode
Video: MOSFET vs IGBT | ЧТО ВЫБРАТЬ? 2024, Studeni
Anonim

Statična vs nestatična metoda

Metoda je niz izjava koje se izvode za izvođenje određenog zadatka. Metode mogu uzimati ulaze i proizvoditi izlaze. Statičke i nestatičke metode dvije su vrste metoda prisutne u objektno orijentiranim programskim jezicima. Statička metoda je metoda koja je povezana s klasom. Metoda koja je povezana s objektom naziva se nestatična (instanca) metoda. U objektno orijentiranim jezicima, metode se koriste kao mehanizam za rad s podacima koji su pohranjeni u objektima.

Što je statična metoda?

U objektno orijentiranom programiranju, statička metoda je metoda koja je povezana s klasom. Stoga statičke metode nemaju sposobnost rada na određenoj instanci klase. Statičke metode mogu se pozvati bez korištenja objekta klase koji sadrži statičku metodu. Slijedi primjer definiranja statičke metode u Javi. Static se mora koristiti kada se definira statička metoda u Javi.

public class MyClass { public static void MyStaticMethod() { // kod statičke metode }

}

Statična metoda definirana gore može se pozvati na sljedeći način koristeći naziv klase kojoj pripada.

MyClass. MyStaticMethod();

Jedna važna stvar koju treba primijetiti je da statičke metode mogu pristupiti samo statičkim članovima.

Što je nestatična metoda?

Nestatična metoda ili metoda instance je metoda koja je povezana s objektom u klasi. Stoga se nestatičke metode pozivaju korištenjem objekta klase u kojoj je metoda definirana. Nestatična metoda može pristupiti nestatičnim članovima kao i statičkim članovima klase. U mnogim objektno orijentiranim jezicima (kao što su C++, C, Java), kada se pozove nestatička metoda, objekt koji je pozvao metodu prosljeđuje se kao implicitni argument (to se naziva 'ovo' referenca). Dakle, unutar metode ova se ključna riječ može koristiti za upućivanje na objekt koji je pozvao metodu. Slijedi primjer definiranja metode instance u Javi.

public class MyClass { public void MyInstanceMethod() { // kod metode instance }

}

Gore definirana metoda instance mogla bi se pozvati na sljedeći način korištenjem objekta klase kojoj pripada.

MyClass objMyClass=new MyClass();

objMyClass. MyInstanceMethod ();

Koja je razlika između statične i nestatične metode?

Statične metode su metode koje su pridružene klasi, dok su nestatičke metode metode koje su pridružene objektima klase. Klasu treba prvo instancirati da bi se pozvala nestatička metoda, ali statičke metode nemaju ovaj zahtjev. Mogu se jednostavno pozvati korištenjem imena klase koja sadrži statičku metodu. Još jedna važna razlika je da nestatična metoda obično posjeduje referencu na objekt koji je pozvao metodu i može joj se pristupiti pomoću ključne riječi this unutar metode. Ali ova se ključna riječ ne može koristiti u statičkim metodama budući da nisu povezane s određenim objektom.

Preporučeni: