Diferența dintre metoda statică și cea non-statică

Diferența dintre metoda statică și cea non-statică
Diferența dintre metoda statică și cea non-statică

Video: Diferența dintre metoda statică și cea non-statică

Video: Diferența dintre metoda statică și cea non-statică
Video: Difference Between MOSFET & BJT | MOSFET Basics | How does a MOSFET work? 2024, Noiembrie
Anonim

Metoda statică vs nestatică

O metodă este o serie de instrucțiuni care sunt efectuate pentru a îndeplini o anumită sarcină. Metodele pot lua intrări și pot produce rezultate. Metodele statice și non-statice sunt două tipuri de metode prezente în limbajele de programare orientate obiect. O metodă statică este o metodă care este asociată cu o clasă. O metodă care este asociată cu un obiect se numește metodă nestatică (instanță). În limbajele orientate obiect, metodele sunt folosite ca mecanism de operare asupra datelor care sunt stocate în obiecte.

Ce este o metodă statică?

În programarea orientată pe obiecte, metoda statică este o metodă care este asociată cu o clasă. Prin urmare, metodele statice nu au capacitatea de a opera pe o anumită instanță a unei clase. Metodele statice pot fi invocate fără a utiliza un obiect al clasei care conține metoda statică. Următorul este un exemplu de definire a unei metode statice în Java. Statica trebuie utilizată atunci când definiți o metodă statică în Java.

clasa publică MyClass { public static void MyStaticMethod() { // codul metodei statice }

}

Metoda statică definită mai sus poate fi apelată după cum urmează, folosind numele clasei căreia îi aparține.

MyClass. MyStaticMethod();

Un lucru important de reținut este că metodele statice pot accesa numai membrii statici.

Ce este o metodă non-statică?

O metodă non-statică sau o metodă de instanță este o metodă care este asociată cu un obiect dintr-o clasă. Prin urmare, metodele non-statice sunt apelate folosind un obiect din clasa în care este definită metoda. O metodă non-statică poate accesa atât membrii non-statici, cât și membrii statici ai unei clase. În multe limbaje orientate obiect (cum ar fi C++, C, Java), atunci când este apelată o metodă non-statică, obiectul care a invocat metoda este transmis ca argument implicit (se numește referință „aceasta”). Deci, în interiorul metodei, acest cuvânt cheie poate fi folosit pentru a se referi la obiectul care a numit metoda. Mai jos este un exemplu de definire a unei metode de instanță în Java.

clasa publică MyClass { public void MyInstanceMethod() { // codul metodei instanței }

}

Metoda de instanță definită mai sus poate fi apelată după cum urmează, folosind un obiect din clasa căreia îi aparține.

MyClass objMyClass=noua MyClass();

objMyClass. MyInstanceMethod ();

Care este diferența dintre metoda statică și cea nestatică?

Metodele statice sunt metode care sunt asociate cu o clasă, în timp ce metodele non-statice sunt metode care sunt asociate cu obiectele unei clase. O clasă trebuie să fie instanțiată mai întâi pentru a invoca o metodă non-statică, dar metodele statice nu au această cerință. Ele pot fi invocate pur și simplu folosind numele clasei care deține metoda statică. O altă diferență importantă este că o metodă non-statică posedă de obicei o referință la obiectul care a numit metoda și poate fi accesată folosind cuvântul cheie this din cadrul metodei. Dar acest cuvânt cheie nu poate fi folosit în metode statice, deoarece nu sunt asociate cu un anumit obiect.

Recomandat: