Atšķirība starp statisko un nestatisko metodi

Statiska un nestatiska metode

Metode ir paziņojumu virkne, ko veic, lai veiktu noteiktu uzdevumu. Metodes var veikt ieguldījumus un radīt izejas. Statiskās un nestatiskās metodes ir divu veidu metodes, kas atrodas objektorientētās programmēšanas valodās. Statiska metode ir metode, kas ir saistīta ar klasi. Metodi, kas ir saistīta ar objektu, sauc par nestatisku (instanču) metodi. Objektu orientētās valodās metodes tiek izmantotas kā mehānisms, lai darbotos ar objektos glabātiem datiem.

Kas ir statiskā metode?

Objektorientētā programmēšanā statiskā metode ir metode, kas ir saistīta ar klasi. Tāpēc statiskajām metodēm nav iespēju darboties ar noteiktu klases gadījumu. Uz statiskajām metodēm var atsaukties, neizmantojot klases objektu, kas satur statisko metodi. Šis ir statiskās metodes definēšanas piemērs Java. Statiskais ir jāizmanto, nosakot statisko metodi Java.

sabiedriskā klase MyClass public static void MyStaticMethod () // statiskās metodes kods

Iepriekš noteikto statisko metodi var nosaukt šādi, izmantojot tās klases nosaukumu, kurai tā pieder.

MyClass.MyStaticMethod ();

Svarīgi atzīmēt, ka statiskās metodes var piekļūt tikai statiskiem dalībniekiem.

Kas ir nestatiska metode?

Nestatiska metode vai gadījuma metode ir metode, kas ir saistīta ar klases objektu. Tāpēc par nestatiskām metodēm tiek saukts objekts tajā klasē, kurā metode ir definēta. Ne statiska metode var piekļūt gan statiskiem, gan statiskiem klases dalībniekiem. Daudzās uz objektu orientētās valodās (piemēram, C ++, C #, Java), kad tiek saukta nestatiska metode, objekts, kas izsauca metodi, tiek nodots kā netiešs arguments (to sauc par “šo” atsauci). Tātad metodes iekšienē šo atslēgvārdu var izmantot, lai atsauktos uz objektu, kurš sauca metodi. Šis ir piemērs, kā definēt gadījuma metodi Java.

sabiedriskā klase MyClass public void MyInstanceMethod () // instances metodes kods

Iepriekš noteikto instanču metodi var saukt šādi, izmantojot tās klases objektu, kurai tā pieder.

MyClass objMyClass = jauna MyClass ();

objMyClass.MyInstanceMethod ();

Kāda ir atšķirība starp statisko un nestatisko metodi?

Statiskās metodes ir metodes, kas saistītas ar klasi, turpretī nestatiskās metodes ir metodes, kas saistītas ar klases objektiem. Lai izsauktu nestatisku metodi, vispirms jāinducē klase, bet statiskām metodēm šī prasība nav izvirzīta. Tos var vienkārši izsaukt, izmantojot tās klases nosaukumu, kurai ir statiskā metode. Vēl viena būtiska atšķirība ir tā, ka nestatiskajai metodei parasti ir atsauce uz objektu, kas sauca metodi, un tai var piekļūt, izmantojot šo atslēgvārdu metodes iekšpusē. Bet šo atslēgvārdu nevar izmantot statiskās metodēs, jo tie nav saistīti ar noteiktu objektu.