Sisällysluettelo[Piilottaa][Näytä]
- 1. Mitä olio-ohjelmointi tarkalleen ottaen on?
- 2. Miksi OOP:t ovat tarpeen?
- 3. Mitä etuja OOPS-periaatteet tarjoavat?
- 4. Mitkä ovat OOPs-konseptin pilarit?
- 5. Mikä luokka tarkalleen on?
- 6. Mikä tarkalleen on esine?
- 7. Mitkä ovat OOP:n rajoitukset?
- 8. Mikä on perintö?
- 9. Mitä kapselointi oikein on?
- 10. Mitä polymorfismi on?
- 11. Mitä abstraktio oikein on?
- 12. Mitä menetelmän ylikuormitus tarkalleen ottaen tarkoittaa?
- 13. Mitä menetelmän ohittaminen tarkalleen on?
- 14. Mikä superluokka tarkalleen ottaen on?
- 15. Mikä tarkalleen on alaluokka?
- 16. Mitä staattinen polymorfismi tarkalleen on?
- 17. Mitä dynaaminen polymorfismi tarkalleen on?
- 18. Kuvaile rakentajan käsite.
- 19. Mitä tarkalleen ovat pääsyn muokkaajat?
- 20. Mikä tarkkaan ottaen on tuhoaja?
- 21. Mitä hybridiperintö oikein on?
- 22. Mitä tarkalleen ottaen on hierarkkinen perintö?
- 23. Mitkä ovat perinnön haitat?
- 24. Mikä tarkalleen on poikkeus?
- 25. Mitä poikkeuskäsittely tarkalleen ottaen on ja mitä hyötyä siitä on?
- 26. Mitä virtuaalifunktiot tarkalleen ottaen ovat?
- 27. Mikä ystäväfunktio oikein on?
- 28. Mitä roskakori oikeastaan on?
- 29. Mitä kytkentä oikein on?
- 30. Mitä koheesio tarkalleen ottaen on?
- 31. Kuvaile try/catch-lohkoa.
- 32. Kuvaile viimeinen lohko.
- 33. Mikä käyttöliittymä oikein on?
- 34. Mitä koostumus tarkalleen on?
- 35. Mitä rakentajan ketjuttaminen tarkalleen on?
- Yhteenveto
Yksi vaikutusvaltaisimmista ohjelmointiparadigmoista on nimeltään OOP tai olio-ohjelmointi. Toimintojen ja prosessien sijaan se korostaa luokkia ja objekteja.
Sen päätavoitteena on yhdistää dataa ja asioita niin, että niiden kanssa työskentely on yksinkertaisempaa. Jokainen OOP-objekti koostuu koodista menettelyjen tai menetelmien muodossa ja tiedoista kenttien muodossa.
Kielet, kuten C++, Objective C, Python, Perl ja Java, ovat eräitä suosituimmista oliopohjaisista kielistä. ohjelmointikielet.
On tärkeää ymmärtää tästä enemmän, koska oho-haastattelukysymykset ovat erittäin tyypillisiä. Useimmat yritykset etsivät insinöörejä, jotka tuntevat oliopohjaiset menetelmät ja mallit. Joten jos aiot osallistua haastatteluun, sinun on oltava perehtynyt OOP-ideoihin.
Tässä viestissä esitetään erilaisia olio-ohjelmointihaastattelukysymyksiä aloittelijatasosta asiantuntijatasolle. Voit siis läpäistä minkä tahansa tason haastattelun ja varmistaa unelmiesi aseman.
1. Mitä olio-ohjelmointi tarkalleen ottaen on?
Olio-ohjelmointi (OOP) perustuu todellisiin objekteihin, ei vain toimintoihin ja prosesseihin. Luokat luodaan yksittäisille tuotteille.
Periytys, polymorfismi ja piilottaminen ovat esimerkkejä todellisista käsitteistä, jotka OOP:t sisällyttävät ohjelmointiin. Se mahdollistaa myös datan ja koodin yhdistämisen.
2. Miksi OOP:t ovat tarpeen?
On useita syitä, miksi OOP:t ovat parempia, mutta seuraavat ovat tärkeimmät:
- OOP:n avulla ihmiset voivat helposti ymmärtää ohjelmistoja, vaikka he eivät olisikaan perehtyneet toteutukseen.
- Hups, paranna koodin luettavuutta, ymmärrettävyyttä ja ylläpidettävyyttä kymmenkertaisesti.
- OOP:iden avulla jopa erittäin suuria sovelluksia voidaan yksinkertaisesti rakentaa ja hallita.
3. Mitä etuja OOPS-periaatteet tarjoavat?
- OOPS, ohjelmointiobjektit simuloivat todellisen maailman objekteja, mikä vähentää monimutkaisuutta ja parantaa ohjelman selkeyttä.
- Objekteja voidaan käyttää toistuvasti useissa ohjelmissa.
- Jokainen objekti luo erillisen kokonaisuuden, jonka sisäiset toiminnot ovat riippumattomia muista järjestelmän osista.
- Ottamalla käyttöön muutamia uusia objekteja ja päivittämällä muutamia jo olemassa olevia, on mahdollista lisätä uusia toimintoja tai mukautua muuttuviin käyttöolosuhteisiin.
- OOPs-ohjelman prosesseihin tai tietojen esittämiseen voidaan tehdä helposti pieniä muutoksia.
4. Mitkä ovat OOPs-konseptin pilarit?
Seuraavat ovat OOP:n tärkeimmät pilarit:
Perintö: Sen avulla luokat voivat periä toisen luokan attribuutit.
kapselointi: Tämä määritellään objektin ominaisuudeksi, joka kätkee tärkeitä tietoja. Tämä pitää tiedot piilossa luokan jäseniltä. Määritykset kuvaavat kuinka objektin attribuuttia käytetään koodissa.
polymorfismi: Tämän avulla voit suorittaa yhden toiminnon useilla tavoilla. Se toteutetaan rajapintojen kautta, joissa julistetaan yksi rajapinta, joka myöhemmin toteutetaan useita kertoja.
Abstraktio: Tällä toiminnolla voit piilottaa tärkeitä tietoja ulkopuolelta ja esittää vain olennaiset tosiasiat.
5. Mikä luokka tarkalleen on?
Luokka on prototyyppi, joka koostuu eri tilassa olevista objekteista, joilla on erilainen käyttäytyminen. Siinä on useita menetelmiä, joita kyseisen luokan objektit jakavat.
6. Mikä tarkalleen on esine?
Objekti on reaalimaailman kokonaisuus, joka toimii OOP:n perusyksikkönä, kuten tuoli, kissa tai koira. Eri esineillä on erilaisia tiloja, ominaisuuksia ja toimintoja.
7. Mitkä ovat OOP:n rajoitukset?
- Koko on suurempi kuin muiden sovellusten koko.
- Se vaatii jonkin verran totuttelua.
- Tietynlaiset ongelmat eivät vaadi sitä.
- Sen luominen oli työlästä, ja muihin sovelluksiin verrattuna se toimii hitaammin.
8. Mikä on perintö?
Perinnöllisyydeksi kutsuttu käsite viittaa luokan vakiintuneen rakenteen ja käyttäytymisen jakamiseen toisen luokan kesken. Kun periytymistä sovelletaan yhteen luokkaan, sitä kutsutaan yksittäisperinnöksi; kun se riippuu monista luokista, sitä kutsutaan useiksi perinnöiksi.
9. Mitä kapselointi oikein on?
OOP:iden ideaan kuuluu myös kapselointi. Se kuvaa tiedon yhdistämistä ja tietojenkäsittelytekniikoita. Lisäksi se auttaa estämään suoran pääsyn joihinkin esineen osiin.
10. Mitä polymorfismi on?
OOP-kielissä polymorfismi on peruskäsite. Se näyttää kuinka eri luokat voivat jakaa käyttöliittymän. Näillä luokilla kaikilla on ainutlaatuisia käyttöliittymätoteutuksia.
11. Mitä abstraktio oikein on?
Abstraktio on olio-ohjelmoinnin (OOP) käsite, jota käytetään luomaan reaalimaailman objektien rakenne. Se "näyttää" vain tärkeimmät ominaisuudet ja "piilottaa" ylimääräistä tietoa ulkomaailmasta. Abstraktion perustavoitteena on suojata ihmisiä tarpeettomilta tiedoilta.
12. Mitä menetelmän ylikuormitus tarkalleen ottaen tarkoittaa?
On mahdollista, että kahdella tai useammalla menettelyllä on sama nimi. Niillä tulisi kuitenkin olla erilliset parametrit, eri määrä parametreja, eri tyyppejä tai molemmat. Näitä kutsutaan ylikuormitetuiksi menetelmiksi, ja ominaisuus tunnetaan menetelmän ylikuormituksena.
13. Mitä menetelmän ohittaminen tarkalleen on?
Olio-ohjelmointi sisältää ajatuksen menetelmän ohittamisesta. Se on kieliominaisuus, jonka avulla alaluokka tai alaluokka tarjoaa mukautetun toteutuksen menetelmälle, jonka jokin sen yliluokista tai yläluokista jo tarjoaa.
14. Mikä superluokka tarkalleen ottaen on?
Superluokka, joka tunnetaan usein nimellä perusluokka, on eräänlainen luokka, joka toimii toisen luokan tai muiden luokkien ylätasona. Esimerkiksi autoluokalla on alaluokka nimeltä Ajoneuvo.
15. Mikä tarkalleen on alaluokka?
Alaluokka on toisen luokan alaluokka. Esimerkiksi pakettiauto on ajoneuvojen alaluokka tai johdettu luokka.
16. Mitä staattinen polymorfismi tarkalleen on?
Käännöshetkellä tapahtuu polymorfismin tyyppi, joka tunnetaan nimellä staattinen polymorfismi (staattinen sitoutuminen). Menetelmän ylikuormitus on eräänlainen käännösajan polymorfismi.
17. Mitä dynaaminen polymorfismi tarkalleen on?
Eräänlaista polymorfismia, joka ratkaistaan ajon aikana, kutsutaan ajonaikaiseksi polymorfismiksi, joka tunnetaan myös nimellä dynaaminen polymorfismi (dynaaminen sitoutuminen). Menetelmien ohittaminen on esimerkki ajonaikaisesta polymorfismista.
18. Kuvaile rakentajan käsite.
Konstruktori on luokan tietty menetelmä, jota kutsutaan automaattisesti, kun luokkainstanssi luodaan. Kun käytät luokkaa, se rakennetaan samalla nimellä kuin luokka ja alustaa kaikki sen jäsenet. Rakentajan ensisijaiset ominaisuudet ovat seuraavat:
Rakentajille ei ole palautustyyppiä.
Rakentajien ylikuormitus on mahdollista.
Rakentajaa ei tarvitse määrittää; NET Framework tekee sen automaattisesti.
19. Mitä tarkalleen ovat pääsyn muokkaajat?
Oliopohjaisissa kielissä avainsanat ovat pääsymäärittäjiä tai käyttöoikeusmääritteitä. Se auttaa luokkien, menetelmien ja muiden jäsenten saavutettavuuden määrittämisessä.
20. Mikä tarkkaan ottaen on tuhoaja?
Tuhoaja on menetelmä objektille osoitettujen resurssien vapauttamiseksi. Kun esine tuhoutuu, tätä menetelmää kutsutaan automaattisesti.
21. Mitä hybridiperintö oikein on?
Hybridiperintö on eräänlainen perintö, joka syntyy sekoittamalla useita perinnön muotoja, kuten yksittäinen, moninkertainen ja niin edelleen.
22. Mitä tarkalleen ottaen on hierarkkinen perintö?
Useat alaluokat perivät pääluokasta hierarkkisen periytymisen tilanteessa. Eräänlaista periytymistä, jossa lukuisat luokat polveutuvat yhdestä vanhemmasta tai perusluokasta, kutsutaan hierarkkiseksi periytymiseksi. Esimerkiksi hedelmäluokka voi sisältää alaluokkia, kuten "omena", "mango", "banaani", "kirsikka" ja niin edelleen.
23. Mitkä ovat perinnön haitat?
Se pidentää ja vaikeuttaa suoritusprosessia. Se edellyttää myös vaihtoa eri luokkien välillä. Vanhempain- ja lapsiluokat liittyvät aina erottamattomasti toisiinsa.
Opetussuunnitelman muutokset edellyttäisivät muutoksia sekä vanhemman että lapsen luokassa. Periminen on toteutettava huolellisesti tai tulokset ovat vääriä.
24. Mikä tarkalleen on poikkeus?
Poikkeuksena on tapaus, joka häiritsee koodin normaalia toimintaa. Voit jatkaa suorittamista käsittelemällä näitä poikkeuksia Javassa. Javassa on monenlaisia ennalta määritettyjä poikkeuksia, ja poikkeusten käsittely on mahdollista hallita esiin tulevia poikkeuksia try-catch-lohkojen avulla.
25. Mitä poikkeuskäsittely tarkalleen ottaen on ja mitä hyötyä siitä on?
Javan tärkein menetelmä odottamattomien ajonaikaisten vikojen käsittelyyn on poikkeusten käsittely. Sen avulla voit hallita ajonaikaisia virheitä, jotka syntyvät ohjelman suorittamisen aikana.
Poikkeuskäsittelyn etuja ovat kyky säilyttää säännöllinen ohjelmakulku poikkeuksia hallittaessa. Jos esimerkiksi jossain ohjelman osassa tapahtuu virhe, sillä ei ole vaikutusta ohjelman loppuosaan, jos käsittelemme poikkeuksen try-catch-lohkoilla.
26. Mitä virtuaalifunktiot tarkalleen ottaen ovat?
Virtuaalifunktiot sisältyvät myös emoluokan funktioihin, ja alaluokka ohittaa ne. Nämä rutiinit auttavat saavuttamaan ajonaikaisen polymorfismin.
27. Mikä ystäväfunktio oikein on?
Ystävätoiminto on toiminto, joka kuuluu luokkaan ja jolla on pääsy sen julkisiin, yksityisiin tai suojattuihin tietoihin. Jos funktio on määritelty luokan ulkopuolella, tätä dataa ei ole mahdollista hakea. Kulunvalvontaavainsanat yksityinen, julkinen ja suojattu eivät vaikuta ystäväilmoitukseen, joka voidaan tehdä missä tahansa luokkailmoituksessa.
28. Mitä roskakori oikeastaan on?
Roskakeräys (GC) on osa ohjelmointikieliä, kuten C# ja Java, joka toimii muistin palautusjärjestelmänä. Roskienkeräysmoottori (GC) on osa ohjelmointikieltä, joka mahdollistaa automaattisen muistitilan vapauttamisen kohteille, joita sovellus ei enää käytä.
29. Mitä kytkentä oikein on?
Se viittaa tilanteisiin, joissa eri luokat luottavat toisiinsa ja jakavat tietoa. Vahva yhteys syntyy, kun yhdellä luokalla on yksityiskohtaista tietoa toisesta luokasta. Voit määrittää luokkien, menetelmien tai muuttujien näkyvyyden käyttöoikeusmääritteiden avulla. Liitäntöjä käytetään aikaansaamaan heikompi kytkentä.
30. Mitä koheesio tarkalleen ottaen on?
Tapaa, jolla komponentti suorittaa tietyn toiminnan, kutsutaan sen koheesioksi. Vahva, yhtenäinen lähestymistapa yksinkertaisesti suorittaa määritellyn tehtävän, kun taas heikko, yhtenäinen menetelmä jakaa yksittäisen tehtävän useisiin pienempiin tehtäviin ja suorittaa ne sitten.
Java.io-paketti on melko yhtenäinen, mutta java.util-paketti ei.
31. Kuvaile try/catch-lohkoa.
Kun ohjelma kohtaa virheen, joka johtuu virheellisestä koodista tai tiedoista, "try" ja "catch" osoittavat, kuinka sitä voidaan hallita. Try block on koodin osan nimi, kun poikkeuksia esiintyy. Catch-lohkoa käytetään sieppaamaan ja käsittelemään try-lohkojen poikkeuksia.
32. Kuvaile viimeinen lohko.
Try-avainsanan toimiva koodin osa ilmoitetaan viimeisenä. Se määrittää koodin, joka ajetaan aina välittömästi kokeilun jälkeen, ja mahdolliset catch-lohkot ennen menetelmän valmistumista. Viimeinen lohko ajetaan aina riippumatta siitä heitetäänkö tai kiinni.
33. Mikä käyttöliittymä oikein on?
Käyttöliittymä on yhdistelmä abstrakteja menetelmiä ja käyttäjän määrittämää tietotyyppiä. Luokka toteuttaa rajapinnan, joka perii rajapinnan abstraktit funktiot.
Luokka edustaa objektin ominaisuuksia ja käyttäytymistä, kun taas käyttöliittymä sisältää käyttäytymismuodot, joita luokka toteuttaa. Käyttöliittymä edustaa "mitä", kun taas luokka välittää "miten".
34. Mitä koostumus tarkalleen on?
Koostumusta voidaan käyttää yhteyden aikaansaamiseen. Se osoittaa vahvan objektiyhteyden riippuvien ja riippumattomien objektien välillä, toisin kuin aggregaatio. Riippuvaista objektia ei ole tässä tilanteessa, ja se poistetaan, jos pääobjekti poistetaan.
35. Mitä rakentajan ketjuttaminen tarkalleen on?
Konstruktoriketjutus on tekniikka, jolla kutsutaan yhtä konstruktoria toisesta suhteessa nykyiseen objektiviittaukseen. Vaihtoehtoja on kaksi:
- Nykyisen luokan konstruktoriin voidaan viitata "this"-avainsanalla.
- "Super"-avainsanaa käytetään rakentajan kutsumiseen perusluokasta.
Yhteenveto
Olio-ohjelmointi edellyttää ohjelman rakenteen miettimistä ja etukäteen valmistautumista. Tutkitaan, kuinka vaatimukset jaetaan perus, uudelleenkäytettäviin luokkiin, joita voidaan käyttää esineiden luomiseen.
Kaiken kaikkiaan OOP:n hyväksyminen tarjoaa parempaa Tietorakenteet ja uudelleenkäytettävyys, mikä säästää aikaa pitkällä aikavälillä. Katso Hashdorkin haastattelusarja apua haastattelun valmisteluun.
Jätä vastaus