Staattinen vs. ei-staattinen menetelmä
Menetelmä on sarja lauseita, jotka suoritetaan tietyn tehtävän suorittamiseksi. Menetelmät voivat ottaa panoksia ja tuottaa tuloksia. Staattiset ja ei-staattiset menetelmät ovat kahta tyyppiä menetelmiä, jotka ovat läsnä olio-ohjelmoiduilla kielillä. Staattinen menetelmä on luokkaan liittyvä menetelmä. Objektiin liittyvää menetelmää kutsutaan ei-staattiseksi (esiintymä) menetelmäksi. Objektisuuntautuneilla kielillä menetelmiä käytetään mekanismina toimimiseksi kohteisiin tallennettuihin tietoihin.
Mikä on staattinen menetelmä?
Olio-ohjelmoinnissa staattinen menetelmä on luokkaan liittyvä menetelmä. Siksi staattisilla menetelmillä ei ole kykyä toimia luokan tietyssä esiintymässä. Staattisiin menetelmiin voidaan vedota käyttämättä luokan objektia, joka sisältää staattisen menetelmän. Seuraava on esimerkki staattisen menetelmän määrittelemisestä Java-järjestelmässä. Staattista on käytettävä määritellessään staattista menetelmää Java-järjestelmässä.
julkinen luokka MyClass julkinen staattinen void MyStaticMethod () // staattisen menetelmän koodiEdellä määriteltyä staattista menetelmää voidaan kutsua seuraavasti käyttämällä sen luokan nimeä, johon se kuuluu.
MyClass.MyStaticMethod ();
Yksi tärkeä asia on huomata, että staattisilla menetelmillä pääsee vain staattisiin jäseniin.
Mikä on epästaattinen menetelmä?
Ei-staattinen menetelmä tai ilmentymämenetelmä on menetelmä, joka liittyy luokan objektiin. Siksi ei-staattisia menetelmiä kutsutaan käyttämällä sen luokan objektia, jossa menetelmä on määritelty. Ei-staattinen menetelmä voi käyttää luokan staattisia jäseniä sekä staattisia jäseniä. Kun kutsutaan ei-staattista menetelmää, monissa oliokeskeisissä kielissä (kuten C ++, C #, Java), menetelmä, joka kutsuttiin menetelmään, välitetään implisiittisenä argumenttina (sitä kutsutaan 'tähän' viitteeksi). Joten menetelmän sisällä tätä avainsanaa voidaan käyttää viittaamaan objektiin, joka kutsui menetelmää. Seuraava on esimerkki Java-ilmentymän menetelmän määrittelystä.
julkinen luokka MyClass julkinen mitätön MyInstanceMethod () // esiintymomenetelmän koodi
Edellä määriteltyä esiintymomenetelmää voidaan kutsua seuraavasti käyttämällä luokan objektia, johon se kuuluu.
MyClass objMyClass = uusi MyClass ();
objMyClass.MyInstanceMethod ();
Mikä on ero staattisen ja ei-staattisen menetelmän välillä??
Staattiset menetelmät ovat luokkaan liittyviä menetelmiä, kun taas epästaattiset menetelmät ovat menetelmiä, jotka liittyvät luokan objekteihin. Luokka on ensin välittömät, jotta voidaan käyttää epästaattista menetelmää, mutta staattisilla menetelmillä ei ole tätä vaatimusta. Ne voidaan yksinkertaisesti kutsua käyttämällä sen luokan nimeä, jolla on staattinen menetelmä. Toinen tärkeä ero on, että ei-staattisella menetelmällä on yleensä viittaus menetelmää kutsuneeseen esineeseen, ja siihen voidaan päästä käyttämällä tätä avainsanaa menetelmän sisällä. Tätä avainsanaa ei kuitenkaan voida käyttää staattisissa menetelmissä, koska niitä ei liitetä tiettyyn esineeseen.