Statikus vs nem statikus módszer
A metódus utasítások sorozata, amelyet egy adott feladat végrehajtására hajtanak végre. A módszerek bemeneteket vehetnek fel, és kimeneteket hozhatnak létre. A statikus és a nem statikus metódusok az objektumorientált programozási nyelvekben kétféle módszer. A statikus metódus egy osztályhoz társított metódus. Az objektumhoz társított metódust nem statikus (példány) metódusnak nevezzük. Az objektumorientált nyelvekben a metódusokat az objektumokban tárolt adatok kezelésére használják.
Mi az a statikus módszer?
Az objektumorientált programozásban a statikus metódus egy osztályhoz társított metódus. Ezért a statikus metódusok nem képesek az osztály egy adott példányán működni. A statikus metódusok a statikus metódust tartalmazó osztály objektumának használata nélkül is meghívhatók. Az alábbiakban egy példa a statikus metódusok meghatározására a Java nyelvben. A static-ot kell használni, amikor statikus metódust definiálunk Java-ban.
public class MyClass { public static void MyStaticMethod() { // a statikus metódus kódja }
}
A fent definiált statikus metódus a következőképpen hívható meg annak az osztálynak a nevével, amelyhez tartozik.
MyClass. MyStaticMethod();
Egy fontos megjegyezni, hogy a statikus módszerek csak statikus tagokhoz férhetnek hozzá.
Mi az a nem statikus módszer?
A nem statikus metódus vagy példánymetódus olyan metódus, amely egy osztály objektumához van társítva. Ezért a nem statikus metódusokat annak az osztálynak az objektumával hívják meg, amelyben a metódus definiálva van. A nem statikus metódusok hozzáférhetnek egy osztály nem statikus és statikus tagjaihoz is. Számos objektumorientált nyelvben (például C++, C, Java) nem statikus metódus meghívásakor a metódust meghívó objektum implicit argumentumként kerül átadásra (ez a hivatkozás). Tehát a metóduson belül ez a kulcsszó arra az objektumra utalhat, amely a metódust hívta. Az alábbiakban egy példa a Java nyelvben előforduló példánymódszer meghatározására.
public class MyClass { public void MyInstanceMethod() { // a példány metódusának kódja }
}
A fent definiált példánymetódus a következőképpen hívható 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 metódusok olyan metódusok, amelyek egy osztályhoz, míg a nem statikus metódusok egy osztály objektumaihoz vannak társítva. Egy nem statikus metódus meghívásához először példányosítani kell egy osztályt, de a statikus metódusoknak nincs ilyen követelménye. Egyszerűen meghívhatók a statikus metódust tartalmazó osztály nevével. Egy másik fontos különbség, hogy egy nem statikus metódus általában rendelkezik hivatkozással arra az objektumra, amely a metódust hívta, és a metóduson belül a this kulcsszóval érhető el. Ez a kulcsszó azonban nem használható statikus módszerekben, mivel nincsenek egy adott objektumhoz társítva.