Ստատիկ ընդդեմ ոչ ստատիկ մեթոդ
Մեթոդը հայտարարությունների մի շարք է, որն իրականացվում է կոնկրետ առաջադրանք կատարելու համար: Մեթոդները կարող են մուտքագրել և արտադրել ելքեր: Ստատիկ և ոչ ստատիկ մեթոդները երկու տեսակի մեթոդներ են, որոնք առկա են օբյեկտ կողմնորոշված ծրագրավորման լեզուներում: Ստատիկ մեթոդը մեթոդ է, որը կապված է դասի հետ: Մեթոդը, որը կապված է օբյեկտի հետ, կոչվում է ոչ ստատիկ (օրինակ) մեթոդ: Օբյեկտ-կողմնորոշված լեզուներում մեթոդներն օգտագործվում են որպես օբյեկտներում պահվող տվյալների վրա գործելու մեխանիզմ:
Ի՞նչ է ստատիկ մեթոդը:
Օբյեկտ ուղղված ծրագրավորման մեջ ստատիկ մեթոդը մեթոդ է, որը կապված է դասի հետ:Հետևաբար, ստատիկ մեթոդները դասի որոշակի օրինակով գործելու հնարավորություն չունեն: Ստատիկ մեթոդները կարող են կանչվել առանց դասի օբյեկտի օգտագործման, որը պարունակում է ստատիկ մեթոդ: Ստորև բերված է Java-ում ստատիկ մեթոդի սահմանման օրինակ: Ստատիկը պետք է օգտագործվի Java-ում ստատիկ մեթոդ սահմանելիս:
public class MyClass { public static void MyStaticMethod() { // ստատիկ մեթոդի կոդը }
}
Վերևում սահմանված ստատիկ մեթոդը կարող է կոչվել հետևյալ կերպ՝ օգտագործելով այն դասի անունը, որին պատկանում է:
MyClass. MyStaticMethod();
Մի կարևոր բան, որ պետք է նշել այն է, որ ստատիկ մեթոդները կարող են մուտք գործել միայն ստատիկ անդամներ:
Ի՞նչ է ոչ ստատիկ մեթոդը:
Ոչ ստատիկ մեթոդը կամ օրինակի մեթոդը մեթոդ է, որը կապված է դասի օբյեկտի հետ: Հետևաբար, ոչ ստատիկ մեթոդները կոչվում են՝ օգտագործելով այն դասի օբյեկտը, որում սահմանված է մեթոդը:Ոչ ստատիկ մեթոդը կարող է մուտք գործել ոչ ստատիկ անդամներ, ինչպես նաև դասի ստատիկ անդամներ: Շատ օբյեկտ կողմնորոշված լեզուներում (օրինակ՝ C++, C, Java), երբ կանչվում է ոչ ստատիկ մեթոդ, մեթոդը կանչած օբյեկտը փոխանցվում է որպես անուղղակի արգումենտ (այն կոչվում է «այս» հղում): Այսպիսով, մեթոդի ներսում այս հիմնաբառը կարող է օգտագործվել մեթոդը կանչող օբյեկտին անդրադառնալու համար: Ստորև բերված է Java-ում օրինակի մեթոդի սահմանման օրինակ:
public class MyClass { public void MyInstanceMethod() { // օրինակի մեթոդի կոդը }
}
Վերևում սահմանված օրինակի մեթոդը կարելի է կանչել հետևյալ կերպ՝ օգտագործելով այն դասի օբյեկտը, որին պատկանում է:
MyClass objMyClass=նոր MyClass();
objMyClass. MyInstanceMethod ();
Ո՞րն է տարբերությունը ստատիկ և ոչ ստատիկ մեթոդի միջև:
Ստատիկ մեթոդները մեթոդներ են, որոնք կապված են դասի հետ, մինչդեռ ոչ ստատիկ մեթոդները մեթոդներ են, որոնք կապված են դասի օբյեկտների հետ:Ոչ ստատիկ մեթոդ կանչելու համար նախ անհրաժեշտ է դասակարգել դասը, սակայն ստատիկ մեթոդները չունեն այս պահանջը: Նրանք կարող են պարզապես կանչվել՝ օգտագործելով ստատիկ մեթոդը պահող դասի անվանումը: Մեկ այլ կարևոր տարբերություն այն է, որ ոչ ստատիկ մեթոդը սովորաբար հղում է կատարում մեթոդը կանչող օբյեկտին, և դրան կարելի է մուտք գործել մեթոդի ներսում գտնվող այս հիմնաբառի միջոցով: Բայց այս հիմնաբառը չի կարող օգտագործվել ստատիկ մեթոդներում, քանի որ դրանք կապված չեն որոշակի օբյեկտի հետ: