Statikus vs nem statikus módszer
A módszer olyan állítások sora, amelyeket egy adott feladat végrehajtására hajtanak végre. A módszerek be- és kimeneteket hozhatnak létre. A statikus és a nem statikus módszerek kétféle módszer léteznek az objektumorientált programozási nyelvekben. A statikus módszer egy osztályhoz társított módszer. Az objektumhoz társított módszert nem statikus (példány) metódusnak nevezzük. Az objektumorientált nyelvekben a módszereket mechanizmusként használják az objektumokban tárolt adatok működésére.
Mi az a statikus módszer?
Az objektumorientált programozásban a statikus módszer egy osztályhoz társított módszer. Ezért a statikus módszerek nem képesek egy osztály adott példányán működni. A statikus módszerek meghívhatók a statikus metódust tartalmazó osztály objektumának használata nélkül. Az alábbiakban bemutatunk egy példát egy statikus módszer definiálására a Java-ban. A statikus módszert a Java statikus módszerének meghatározásakor kell használni.
public class MyClass {public static void MyStaticMethod () {// a statikus metódus kódja}
}
A fent definiált statikus módszert az alábbiak szerint hívhatjuk meg annak az osztálynak a nevével, amelyhez tartozik.
MyClass. MyStaticMethod ();
Fontos megjegyezni, hogy a statikus módszerek csak a statikus tagokhoz férhetnek hozzá.
Mi a nem statikus módszer?
A nem statikus vagy egy példányos módszer olyan módszer, amely egy osztály objektumához van társítva. Ezért a nem statikus módszereket annak az osztálynak az objektumával hívjuk meg, amelyben a módszer meg van határozva. A nem statikus módszer hozzáférhet az osztály nem statikus tagjaihoz, valamint az osztály statikus tagjaihoz. Számos objektumorientált nyelvben (például C ++, C #, Java), ha nem statikus metódust hívnak meg, a metódust meghívó objektum implicit argumentumként kerül átadásra (ezt „ennek” referenciának hívják). Tehát a módszer belsejében ez a kulcsszó arra az objektumra hivatkozhat, amely a metódust hívta. Az alábbiakban bemutatunk egy példát egy példány metódus meghatározására a Java-ban.
public class MyClass {public void MyInstanceMethod () {// a példány metódusának kódja}
}
A fent definiált példány-metódust a következőképpen hívhatjuk meg annak az osztálynak az objektumával, amelyhez tartozik.
MyClass objMyClass = new MyClass ();
objMyClass. MyInstanceMethod ();
Mi a különbség a statikus és a nem statikus módszer között?
A statikus módszerek olyan módszerek, amelyek egy osztályhoz vannak társítva, míg a nem statikus módszerek az osztály objektumaival társított módszerek. Először egy osztályt kell példányosítani egy nem statikus módszer meghívásához, de a statikus módszereknek nincs ilyen követelményük. Egyszerűen meghívhatók a statikus módszerrel rendelkező osztály nevével. Egy másik fontos különbség az, hogy a nem statikus módszer általában hivatkozik az objektumra, amelyik meghívta a módszert, és a módszer belsejében található kulcsszóval érhető el. De ez a kulcsszó nem használható statikus módszerekben, mivel nem kapcsolódnak egy adott objektumhoz.