Staatilise ja mittestaatilise meetodi erinevus

Staatilise ja mittestaatilise meetodi erinevus
Staatilise ja mittestaatilise meetodi erinevus

Video: Staatilise ja mittestaatilise meetodi erinevus

Video: Staatilise ja mittestaatilise meetodi erinevus
Video: Funktsiooni kasvamine ja kahanemine 2024, Juuli
Anonim

Staatiline vs mittestaatiline meetod

Meetod on lausete jada, mis viiakse läbi konkreetse ülesande täitmiseks. Meetodid võivad võtta sisendeid ja toota väljundeid. Staatilised ja mittestaatilised meetodid on kahte tüüpi meetodid, mis esinevad objektorienteeritud programmeerimiskeeltes. Staatiline meetod on meetod, mis on seotud klassiga. Meetodit, mis on seotud objektiga, nimetatakse mittestaatiliseks (eksemplari) meetodiks. Objektorienteeritud keeltes kasutatakse meetodeid objektidesse salvestatud andmetega töötamiseks.

Mis on staatiline meetod?

Objektorienteeritud programmeerimises on staatiline meetod meetod, mis on seotud klassiga. Seetõttu ei ole staatilised meetodid võimelised töötama klassi teatud eksemplaridel. Staatilisi meetodeid saab kutsuda ilma staatilist meetodit sisaldava klassi objekti kasutamata. Järgnev alt on näide staatilise meetodi määratlemisest Javas. Staatiliset meetodit tuleb kasutada Java-s staatilise meetodi määratlemisel.

public class MyClass { public static void MyStaticMethod() { // staatilise meetodi kood }

}

Eespool määratletud staatilist meetodit saab kutsuda järgmiselt, kasutades selle klassi nime, kuhu see kuulub.

MyClass. MyStaticMethod();

Üks oluline asi, mida tuleb tähele panna, on see, et staatilised meetodid pääsevad juurde ainult staatilistele liikmetele.

Mis on mittestaatiline meetod?

Mittestaatiline meetod või eksemplarimeetod on meetod, mis on seotud klassis oleva objektiga. Seetõttu kutsutakse mittestaatilisi meetodeid kasutades selle klassi objekti, milles meetod on määratletud. Mittestaatiline meetod pääseb juurde nii klassi mittestaatilistele liikmetele kui ka staatilistele liikmetele. Paljudes objektorienteeritud keeltes (nt C++, C, Java) edastatakse mittestaatilise meetodi kutsumisel objekt, mis seda meetodit kutsus, kaudse argumendina (seda nimetatakse "selleks" viiteks). Seega saab meetodi sees seda märksõna kasutada meetodi kutsunud objektile viitamiseks. Allpool on näide Java-i eksemplarimeetodi määratlemisest.

public class MyClass { public void MyInstanceMethod() { // eksemplari meetodi kood }

}

Eespool määratletud eksemplari meetodit saab kutsuda järgmiselt, kasutades objekti klassist, kuhu see kuulub.

MyClass objMyClass=new MyClass();

objMyClass. MyInstanceMethod ();

Mis vahe on staatilisel ja mittestaatilisel meetodil?

Staatilised meetodid on klassiga seotud meetodid, mittestaatilised aga meetodid, mis on seotud klassi objektidega. Mittestaatilise meetodi käivitamiseks tuleb klass esm alt instantseerida, kuid staatilistel meetoditel seda nõuet ei ole. Neid saab lihts alt välja kutsuda, kasutades staatilist meetodit kasutava klassi nime. Teine oluline erinevus on see, et mittestaatilisel meetodil on tavaliselt viide objektile, mis seda meetodit kutsus, ja sellele pääseb juurde meetodi sees oleva märksõna abil. Kuid seda märksõna ei saa kasutada staatilistes meetodites, kuna need ei ole seotud konkreetse objektiga.

Soovitan: