Kazalo[Skrij][Pokaži]
- 1. Kaj točno je objektno orientirano programiranje?
- 2. Zakaj so OOP potrebni?
- 3. Kakšne prednosti ponujajo načela OOPS?
- 4. Kateri so stebri koncepta OOP?
- 5. Kaj pravzaprav je razred?
- 6. Kaj pravzaprav je predmet?
- 7. Kakšne so omejitve OOP-jev?
- 8. Kaj je dedovanje?
- 9. Kaj točno je enkapsulacija?
- 10. Kaj je polimorfizem?
- 11. Kaj točno je abstrakcija?
- 12. Kaj točno je preobremenitev metode?
- 13. Kaj točno je preglasitev metode?
- 14. Kaj natančno je nadrazred?
- 15. Kaj natančno je podrazred?
- 16. Kaj pravzaprav je statični polimorfizem?
- 17. Kaj pravzaprav je dinamični polimorfizem?
- 18. Opišite pojem Konstruktor.
- 19. Kaj točno so modifikatorji dostopa?
- 20. Kaj pravzaprav je destruktor?
- 21. Kaj pravzaprav je hibridno dedovanje?
- 22. Kaj natančno je hierarhično dedovanje?
- 23. Katere so slabosti dedovanja?
- 24. Kaj točno je izjema?
- 25. Kaj točno je obravnavanje izjem in kakšne so njegove prednosti?
- 26. Kaj pravzaprav so virtualne funkcije?
- 27. Kaj pravzaprav je funkcija prijatelja?
- 28. Kaj pravzaprav je zbiranje smeti?
- 29. Kaj točno je spajanje?
- 30. Kaj pravzaprav je kohezija?
- 31. Opišite poskusni blok.
- 32. Opišite končni blok.
- 33. Kaj pravzaprav je vmesnik?
- 34. Kaj pravzaprav je sestava?
- 35. Kaj pravzaprav je veriženje konstruktorjev?
- zaključek
Ena najvplivnejših paradigem programiranja se imenuje OOP ali objektno usmerjeno programiranje. Namesto funkcij in procesov poudarja razrede in objekte.
Njegov glavni namen je povezati podatke in stvari tako, da je delo z njimi enostavnejše. Vsak objekt v OOP je sestavljen iz kode v obliki postopkov ali metod in podatkov v obliki polj.
Jeziki, kot so C++, Objective C, Python, Perl in Java, so nekateri izmed najbolj priljubljenih objektno usmerjenih jezikov. programskih jezikov.
Ključnega pomena je, da o tem razumete več, saj so vprašanja o intervjuju zelo tipična. Večina podjetij išče inženirje, ki poznajo objektno usmerjene metode in vzorce. Torej, če se nameravate udeležiti razgovora, morate biti dobro seznanjeni z idejami OOP.
V tem prispevku bodo prikazana različna vprašanja za razgovor o objektno usmerjenem programiranju od začetnih do strokovnih ravni. Tako lahko opravite katero koli stopnjo razgovora in si zagotovite svoj sanjski položaj.
1. Kaj točno je objektno orientirano programiranje?
Programiranje, ki je objektno usmerjeno (OOP), temelji na dejanskih objektih in ne le na funkcijah in procesih. Razredi so ustvarjeni za posamezne izdelke.
Dedovanje, polimorfizem in prikrivanje so primeri konceptov iz resničnega sveta, ki jih OOP vključuje v programiranje. Omogoča tudi povezovanje podatkov in kode.
2. Zakaj so OOP potrebni?
Obstaja več razlogov, zakaj so OOP zaželeni, vendar so najpomembnejši naslednji:
- OOP-ji omogočajo ljudem, da zlahka razumejo programsko opremo, tudi če niso seznanjeni z izvedbo.
- Ups, izboljšajte berljivost kode, razumljivost in vzdržljivost za faktor deset.
- Z OOP-ji je mogoče preprosto zgraditi in nadzorovati celo izjemno velike aplikacije.
3. Kakšne prednosti ponujajo načela OOPS?
- Ups, objekti za programiranje simulirajo predmete iz dejanskega sveta, kar zmanjšuje kompleksnost in povečuje jasnost programa.
- Objekte je mogoče večkrat uporabiti v številnih programih.
- Vsak objekt ustvari ločeno entiteto, katere notranje operacije so neodvisne od drugih komponent sistema.
- Z uvedbo nekaj novih objektov in posodobitvijo nekaj že obstoječih je možno dodati nove funkcionalnosti ali se prilagoditi spreminjajočim se pogojem delovanja.
- Procesi ali predstavitev podatkov programa OOPs so lahko zlahka podvrženi majhnim prilagoditvam.
4. Kateri so stebri koncepta OOP?
Sledijo glavni stebri OOP:
Dedovanje: Razredom omogoča dedovanje atributov drugega razreda.
Inkapsulacija: To je opredeljeno kot lastnost predmeta, ki skriva kritične informacije. Tako so podatki prikriti pred člani razreda. Specifikatorji opisujejo, kako se v kodi dostopa do atributa objekta.
Polimorfizem: To vam omogoča, da eno dejavnost izvajate na več načinov. Izvaja se preko vmesnikov, v katerih deklariramo en vmesnik, ki je nato večkrat implementiran.
Abstrakcija: S to funkcijo lahko skrijete kritične informacije pred zunanjim svetom in predstavite samo bistvena dejstva.
5. Kaj pravzaprav je razred?
Razred je prototip, sestavljen iz predmetov v različnih stanjih in z različnimi vedenji. Ima številne metode, ki si jih delijo objekti v tem razredu.
6. Kaj pravzaprav je predmet?
Predmet je entiteta iz resničnega sveta, ki služi kot temeljna enota OOP-jev, na primer stol, mačka ali pes. Različni predmeti imajo različna stanja, lastnosti in dejanja.
7. Kakšne so omejitve OOP-jev?
- Velikost je večja od velikosti drugih aplikacij.
- Potrebuje nekaj privajanja.
- Določene vrste težav tega ne zahtevajo.
- Izdelava je bila delovno intenzivna in v primerjavi z drugimi aplikacijami deluje počasneje.
8. Kaj je dedovanje?
Pojem, imenovan dedovanje, se nanaša na skupno rabo uveljavljene strukture in vedenja razreda z drugim razredom. Ko se dedovanje uporabi za en sam razred, se to imenuje enojno dedovanje; kadar je odvisno od številnih razredov, se imenuje večkratno dedovanje.
9. Kaj točno je enkapsulacija?
Ideja OOP vključuje tudi enkapsulacijo. Opisuje mešanje podatkov in tehnik obdelave podatkov. Poleg tega pomaga pri preprečevanju neposrednega dostopa do nekaterih delov predmeta.
10. Kaj je polimorfizem?
V jezikih OOP je polimorfizem temeljni koncept. Prikazuje, kako si lahko različni razredi delijo vmesnik. Vsi ti razredi lahko imajo edinstvene implementacije vmesnikov.
11. Kaj točno je abstrakcija?
Abstrakcija je koncept objektno usmerjenega programiranja (OOP), ki se uporablja za ustvarjanje strukture predmetov iz resničnega sveta. "Prikaže" samo najpomembnejše lastnosti in "prikrije" tuje informacije iz zunanjega sveta. Osnovni cilj abstrakcije je zaščititi ljudi pred nepotrebnimi informacijami.
12. Kaj točno je preobremenitev metode?
Možno je, da imata dva ali več postopkov isto ime. Vendar pa morajo imeti različne parametre, različno število parametrov, različne vrste ali oboje. Te so znane kot preobremenjene metode, funkcija pa je znana kot preobremenitev metod.
13. Kaj točno je preglasitev metode?
Objektno orientirano programiranje vključuje idejo preglasitve metode. To je jezikovna funkcija, ki podrazredu ali podrejenemu razredu omogoča, da ponudi prilagojeno izvedbo metode, ki jo že ponuja eden od njegovih nadrazredov ali nadrejenih razredov.
14. Kaj natančno je nadrazred?
Nadrazred, pogosto znan kot osnovni razred, je vrsta razreda, ki deluje kot starš drugega razreda ali razredov. Razred Avto ima na primer podrazred, imenovan Vozilo.
15. Kaj natančno je podrazred?
Podrazred je podrazred drugega razreda. Van, na primer, je podrazred vozil ali izpeljani razred.
16. Kaj pravzaprav je statični polimorfizem?
V času prevajanja pride do vrste polimorfizma, znanega kot statični polimorfizem (statična vezava). Preobremenitev metode je vrsta polimorfizma v času prevajanja.
17. Kaj pravzaprav je dinamični polimorfizem?
Nekakšen polimorfizem, ki se razreši med izvajanjem, se imenuje polimorfizem izvajalnega okolja, znan tudi kot dinamični polimorfizem (dinamična vezava). Preglasitev metod je ilustracija izvajalnega polimorfizma.
18. Opišite pojem Konstruktor.
Konstruktor je specifična metoda razreda, ki se samodejno pokliče, ko je ustvarjen primerek razreda. Ko dostopate do razreda, je sestavljen z istim imenom kot razred in inicializira vse njegove člane. Glavne značilnosti konstruktorja so naslednje:
Za konstruktorje ni povratnega tipa.
Možna je preobremenitev konstruktorjev.
Konstruktorja ni treba navesti; .NET Framework bo to storil samodejno.
19. Kaj točno so modifikatorji dostopa?
V objektno usmerjenih jezikih so ključne besede modifikatorji dostopa ali specifikatorji dostopa. Pomaga pri konfiguraciji razredov, metod in dostopnosti drugih članov.
20. Kaj pravzaprav je destruktor?
Destruktor je metoda za sprostitev virov, dodeljenih objektu. Ko je objekt uničen, se ta metoda samodejno pokliče.
21. Kaj pravzaprav je hibridno dedovanje?
Hibridno dedovanje je neke vrste dedovanje, ki nastane z mešanjem več oblik dedovanja, kot so enojno, večkratno in tako naprej.
22. Kaj natančno je hierarhično dedovanje?
Več podrazredov deduje od nadrejenega razreda v situaciji hierarhičnega dedovanja. Vrsta dedovanja, pri kateri številni razredi izvirajo iz enega nadrejenega ali osnovnega razreda, je znana kot hierarhično dedovanje. Na primer, razred sadja lahko vsebuje podrazrede, kot so "jabolko, "mango", "banana", "češnja" itd.
23. Katere so slabosti dedovanja?
Podaljša in oteži postopek izvedbe. Zahteva tudi preklapljanje med različnimi razredi. Razredi staršev in otrok so vedno neločljivo povezani.
Spremembe učnega načrta bi zahtevale revizije tako za starše kot za otrokov razred. Dedovanje je treba izvajati previdno, sicer bodo rezultati napačni.
24. Kaj točno je izjema?
Izjema je incident, ki moti običajno delovanje kode. Za nadaljevanje izvajanja lahko te izjeme obravnavate v Javi. V Javi obstaja veliko vrst vnaprej določenih izjem in obravnava izjem je na voljo za nadzor sproženih izjem z uporabo blokov poskusi-ulovi.
25. Kaj točno je obravnavanje izjem in kakšne so njegove prednosti?
Najpomembnejša metoda v Javi za obravnavo nepričakovanih napak med izvajanjem je obravnava izjem. Omogoča nadzor nad napakami med izvajanjem, ki se pojavijo med izvajanjem programa.
Prednosti obravnavanja izjem vključujejo zmožnost ohranjanja rednega poteka programa ob upravljanju izjem. Če na primer pride do napake v enem odseku programa, to ne bo vplivalo na preostanek programa, če izjemo obravnavamo z bloki try-catch.
26. Kaj pravzaprav so virtualne funkcije?
Navidezne funkcije so prav tako vključene v funkcije nadrejenega razreda in jih preglasi podrazred. Te rutine pomagajo pri doseganju polimorfizma izvajalnega časa.
27. Kaj pravzaprav je funkcija prijatelja?
Prijateljska funkcija je funkcija, ki pripada razredu in ji je dovoljen dostop do njegovih javnih, zasebnih ali zaščitenih podatkov. Če je funkcija definirana zunaj razreda, teh podatkov ni mogoče pridobiti. Ključne besede za nadzor dostopa private, public in protected nimajo nobenega vpliva na izjavo prijatelja, ki jo lahko podate kjer koli v izjavi razreda.
28. Kaj pravzaprav je zbiranje smeti?
Zbiranje smeti (GC) je element programskih jezikov, kot sta C# in Java, ki služi kot sistem za obnovitev pomnilnika. Mehanizem za zbiranje smeti (GC) je komponenta programskega jezika, ki omogoča samodejno sprostitev pomnilniškega prostora za objekte, ki jih aplikacija ne uporablja več.
29. Kaj točno je spajanje?
Nanaša se na situacije, v katerih se različni razredi zanašajo drug na drugega in si izmenjujejo znanje. Močna povezava se pojavi, ko en razred podrobno pozna drug razred. Z modifikatorji dostopa lahko določite vidnost razredov, metod ali spremenljivk. Vmesniki se uporabljajo za zagotavljanje šibkejšega povezovanja.
30. Kaj pravzaprav je kohezija?
Način, kako komponenta izvaja določeno dejavnost, se imenuje njena kohezija. Močan, koheziven pristop bo preprosto opravil definirano nalogo, medtem ko bi šibka, kohezivna metoda posamezno nalogo razdelila na več manjših nalog in jih nato dokončala.
Paket Java.io je precej koherenten, paket java.util pa ne.
31. Opišite poskusni blok.
Ko program naleti na napako zaradi nepravilne kode ali podatkov, »poskusi« in »ulovi« nakazujeta, kako jo upravljati. Blok poskusa je ime dela kode, ko pride do izjem. Blok catch se uporablja za zajemanje in obravnavanje izjem iz poskusnih blokov.
32. Opišite končni blok.
Delovni del kode ključne besede poskusi je naveden zadnji. Označuje kodo, ki se vedno zažene takoj po preskusu, in morebitne bloke catch, preden je metoda dokončana. Končni blok se vedno izvaja ne glede na to, ali je izjema vržena ali ujeta.
33. Kaj pravzaprav je vmesnik?
Vmesnik je kombinacija abstraktnih metod in podatkovnega tipa, ki ga določi uporabnik. Razred implementira vmesnik in podeduje abstraktne funkcije vmesnika.
Razred predstavlja lastnosti in vedenja predmeta, medtem ko vmesnik vključuje vedenja, ki jih izvaja razred. Vmesnik predstavlja »kaj«, medtem ko razred sporoča »kako«.
34. Kaj pravzaprav je sestava?
Sestava se lahko uporablja za doseganje povezave. Prikazuje močno objektno povezavo med odvisnimi in neodvisnimi objekti, v nasprotju z združevanjem. Odvisni objekt v teh okoliščinah ne obstaja in bo odstranjen, če se nadrejeni objekt izbriše.
35. Kaj pravzaprav je veriženje konstruktorjev?
Veriženje konstruktorjev je tehnika za klicanje enega konstruktorja iz drugega v zvezi s trenutno referenco objekta. Obstajata dve možnosti:
- Na konstruktor v trenutnem razredu se lahko sklicujete s ključno besedo »this«.
- Ključna beseda »super« bo uporabljena za priklic konstruktorja iz osnovnega razreda.
zaključek
Objektno usmerjeno programiranje zahteva razmišljanje o strukturi programa in pripravo vnaprej. Preučevanje, kako razdeliti zahteve na osnovne razrede, ki jih je mogoče ponovno uporabiti, ki jih je mogoče uporabiti za ustvarjanje primerkov stvari.
Na splošno zajemanje OOP zagotavlja izboljšano podatkovne strukture in ponovno uporabnost, ki dolgoročno prihrani čas. Glej Hashdorkova serija intervjujev za pomoč pri pripravi na razgovor.
Pustite Odgovori