Статичен срещу нестатичен метод
Методът е поредица от изявления, която се извършва за изпълнение на определена задача. Методите могат да вземат входящи данни и да произвеждат изходи. Статичните и нестатичните методи са два вида методи, присъстващи в обектно ориентирани езици за програмиране. Статичният метод е метод, който е свързан с клас. Метод, който е свързан с обект, се нарича нестатичен (екземпляр) метод. В обектно ориентираните езици методите се използват като механизъм за работа с данни, които се съхраняват в обекти.
Какво е статичен метод?
При обектно ориентираното програмиране статичният метод е метод, който е свързан с клас. Следователно статичните методи нямат способността да работят върху определен екземпляр на клас. Статичните методи могат да бъдат извикани, без да се използва обект от класа, който съдържа статичния метод. Следва пример за дефиниране на статичен метод в Java. Статиката трябва да се използва при дефиниране на статичен метод в Java.
публичен клас MyClass {public static void MyStaticMethod () {// код на статичния метод}
}
Дефинираният по-горе статичен метод може да бъде извикан, както следва, като се използва името на класа, към който принадлежи.
MyClass. MyStaticMethod ();
Едно важно нещо, което трябва да се отбележи, е, че статичните методи имат достъп само до статични членове.
Какво е нестатичен метод?
Нестатичен метод или метод на екземпляр е метод, който е свързан с обект в клас. Следователно нестатичните методи се извикват с помощта на обект от класа, в който методът е дефиниран. Нестатичният метод има достъп до нестатични членове, както и статични членове на клас. В много обектно ориентирани езици (като C ++, C #, Java), когато се извиква нестатичен метод, обектът, който е извикал метода, се предава като имплицитен аргумент (той се нарича препратка 'this'). Така че, вътре в метода тази ключова дума може да се използва за препратка към обекта, който е извикал метода. Следва пример за дефиниране на метод на екземпляр в Java.
публичен клас MyClass {public void MyInstanceMethod () {// код на метода на инстанцията}
}
Методът на екземпляра, дефиниран по-горе, може да бъде извикан, както следва, като се използва обект от класа, към който принадлежи.
MyClass objMyClass = нов MyClass ();
objMyClass. MyInstanceMethod ();
Каква е разликата между статичния и нестатичния метод?
Статичните методи са методи, които са свързани с клас, докато нестатичните методи са методи, които са свързани с обекти на клас. Първо трябва да бъде създаден екземпляр на клас, за да се извика нестатичен метод, но статичните методи нямат това изискване. Те могат просто да бъдат извикани, като се използва името на класа, който съдържа статичния метод. Друга важна разлика е, че нестатичният метод обикновено има препратка към обекта, който е извикал метода, и той може да бъде достъпен с помощта на тази ключова дума вътре в метода. Но тази ключова дума не може да се използва в статични методи, тъй като те не са свързани с определен обект.