Turinys[Slėpti][Rodyti]
- 1. Kas tiksliai yra objektinis programavimas?
- 2. Kodėl būtini OOP?
- 3. Kokią naudą suteikia OOPS principai?
- 4. Kokie yra OOP koncepcijos ramsčiai?
- 5. Kas tiksliai yra klasė?
- 6. Kas tiksliai yra objektas?
- 7. Kokie yra OOP apribojimai?
- 8. Kas yra paveldėjimas?
- 9. Kas tiksliai yra inkapsuliavimas?
- 10. Kas yra polimorfizmas?
- 11. Kas iš tikrųjų yra abstrakcija?
- 12. Kas tiksliai yra metodo perkrovimas?
- 13. Kas tiksliai yra metodo viršenybė?
- 14. Kas tiksliai yra superklasė?
- 15. Kas tiksliai yra poklasis?
- 16. Kas iš tikrųjų yra statinis polimorfizmas?
- 17. Kas iš tikrųjų yra dinaminis polimorfizmas?
- 18. Apibūdinkite konstruktoriaus sąvoką.
- 19. Kas tiksliai yra prieigos modifikatoriai?
- 20. Kas tiksliai yra destruktorius?
- 21. Kas tiksliai yra hibridinis paveldėjimas?
- 22. Kas tiksliai yra hierarchinis paveldėjimas?
- 23. Kokie yra paveldėjimo trūkumai?
- 24. Kas tiksliai yra išimtis?
- 25. Kas tiksliai yra išimčių tvarkymas ir kokia jo nauda?
- 26. Kas tiksliai yra virtualios funkcijos?
- 27. Kas tiksliai yra draugo funkcija?
- 28. Kas iš tikrųjų yra šiukšlių surinkimas?
- 29. Kas tiksliai yra sukabinimas?
- 30. Kas tiksliai yra sanglauda?
- 31. Apibūdinkite try/catch bloką.
- 32. Apibūdinkite galutinį bloką.
- 33. Kas tiksliai yra sąsaja?
- 34. Kas tiksliai yra kompozicija?
- 35. Kas tiksliai yra konstruktoriaus grandinėjimas?
- Išvada
Viena iš įtakingiausių programavimo paradigmų vadinama OOP arba objektiniu programavimu. Vietoj funkcijų ir procesų pabrėžiamos klasės ir objektai.
Pagrindinis jo tikslas – sujungti duomenis ir daiktus, kad su jais būtų paprasčiau dirbti. Kiekvienas OOP objektas yra sudarytas iš kodo procedūrų arba metodų ir duomenų laukų pavidalu.
Tokios kalbos kaip C++, Objective C, Python, Perl ir Java yra vienos populiariausių į objektą orientuotų kalbų. programavimo kalbos.
Labai svarbu apie tai suprasti daugiau, nes interviu klausimai yra labai tipiški. Dauguma firmų ieško inžinierių, kurie būtų susipažinę su objektiniais metodais ir modeliais. Taigi, jei ketinate dalyvauti pokalbyje, turite gerai išmanyti OOP idėjas.
Šiame įraše bus rodomi įvairūs objektinio programavimo interviu klausimai nuo pradedančiųjų iki ekspertų. Taigi galite išlaikyti bet kokio lygio pokalbį ir užsitikrinti savo svajonių poziciją.
1. Kas tiksliai yra objektinis programavimas?
Objektinis programavimas (OOP) pagrįstas tikrais objektais, o ne tik funkcijomis ir procesais. Klasės kuriamos individualiems gaminiams.
Paveldėjimas, polimorfizmas ir slėpimas yra realaus pasaulio koncepcijų, kurias OOP įtraukia į programavimą, pavyzdžiai. Tai taip pat leidžia sujungti duomenis ir kodą.
2. Kodėl būtini OOP?
Yra keletas priežasčių, kodėl pirmenybė teikiama OOP, tačiau šios yra svarbiausios:
- OOPs, leidžia žmonėms lengvai suprasti programinę įrangą, net jei jie nėra susipažinę su diegimu.
- Oi, dešimt kartų pagerinkite kodo skaitomumą, suprantamumą ir priežiūrą.
- Naudojant OOP, galima tiesiog sukurti ir valdyti net itin dideles programas.
3. Kokią naudą suteikia OOPS principai?
- OOPS, programavimo objektai imituoja realaus pasaulio objektus, sumažindami sudėtingumą ir padidindami programos aiškumą.
- Objektai gali būti pakartotinai naudojami daugelyje programų.
- Kiekvienas objektas sukuria atskirą objektą, kurio vidinės operacijos nepriklauso nuo kitų sistemos komponentų.
- Pristačius keletą naujų objektų ir atnaujinus kelis jau esamus, galima papildyti nauju funkcionalumu arba prisitaikyti prie kintančių eksploatavimo sąlygų.
- OOPs programos procesai arba duomenų pateikimas gali būti lengvai pakoreguojami.
4. Kokie yra OOP koncepcijos ramsčiai?
Toliau pateikiami pagrindiniai OOP ramsčiai:
Paveldėjimai: leidžia klasėms paveldėti kitos klasės atributus.
Kapsuliavimas: Tai apibrėžiama kaip objekto ypatybė, slepianti svarbią informaciją. Taip duomenys slepiami nuo klasės narių. Specifikacijos aprašo, kaip kode pasiekiamas objekto atributas.
Polimorfizmas: leidžia atlikti vieną veiklą keliais būdais. Tai atliekama per sąsajas, kuriose deklaruojame vieną sąsają, kuri vėliau įdiegiama kelis kartus.
Abstrakcija: galite naudoti šią funkciją norėdami paslėpti svarbią informaciją nuo išorinio pasaulio ir pateikti tik esminius faktus.
5. Kas tiksliai yra klasė?
Klasė yra prototipas, sudarytas iš įvairių būsenų ir skirtingo elgesio objektų. Jis turi keletą metodų, kuriais dalijasi tos klasės objektai.
6. Kas tiksliai yra objektas?
Objektas yra realaus pasaulio subjektas, kuris yra pagrindinis OOP vienetas, pvz., kėdė, katė ar šuo. Įvairūs objektai turi skirtingas būsenas, savybes ir veiksmus.
7. Kokie yra OOP apribojimai?
- Dydis yra didesnis nei kitų programų.
- Tam reikia šiek tiek priprasti.
- Tam tikros problemos to nereikalauja.
- Jį sukurti reikėjo daug darbo, o, palyginti su kitomis programomis, ji veikia lėčiau.
8. Kas yra paveldėjimas?
Sąvoka, vadinama paveldėjimu, reiškia kitos klasės pasidalijimą nustatyta klasės struktūra ir elgesiu. Kai paveldėjimas taikomas vienai klasei, jis vadinamas vienu paveldėjimu; kai tai priklauso nuo daugelio klasių, tai vadinama daugybiniu paveldėjimu.
9. Kas tiksliai yra inkapsuliavimas?
OOP idėja apima ir kapsuliavimą. Jame aprašomas duomenų ir duomenų tvarkymo metodų derinimas. Be to, tai padeda užkirsti kelią tiesioginei prieigai prie kai kurių objekto dalių.
10. Kas yra polimorfizmas?
OOP kalbose polimorfizmas yra pagrindinė sąvoka. Tai parodo, kaip skirtingos klasės gali bendrinti sąsają. Visos šios klasės gali turėti unikalų sąsajos įgyvendinimą.
11. Kas iš tikrųjų yra abstrakcija?
Abstrakcija yra objektinio programavimo (OOP) koncepcija, naudojama realaus pasaulio objektų struktūrai sukurti. Jis „rodo“ tik svarbiausias savybes ir „slepia“ pašalinę informaciją iš išorinio pasaulio. Pagrindinis abstrakcijos tikslas yra apsaugoti žmones nuo nereikalingos informacijos.
12. Kas tiksliai yra metodo perkrovimas?
Dvi ar daugiau procedūrų gali turėti tą patį pavadinimą. Tačiau jie turėtų turėti skirtingus parametrus, skirtingą parametrų skaičių, skirtingas rūšis arba abu. Tai žinomi kaip perkrauti metodai, o funkcija vadinama metodo perkrovimu.
13. Kas tiksliai yra metodo viršenybė?
Objektinis programavimas apima metodo nepaisymo idėją. Tai kalbos funkcija, leidžianti poklasiui arba antrinei klasei pasiūlyti pritaikytą metodo, kurį jau teikia viena iš jo superklasių arba pirminių klasių, įgyvendinimą.
14. Kas tiksliai yra superklasė?
Superklasė, dažnai žinoma kaip bazinė klasė, yra klasės tipas, kuris veikia kaip kitos klasės ar klasių pirminė klasė. Pavyzdžiui, automobilių klasė turi poklasį, vadinamą Transporto priemonė.
15. Kas tiksliai yra poklasis?
Poklasis yra kitos klasės poklasis. Pavyzdžiui, furgonas yra transporto priemonių poklasis arba išvestinė klasė.
16. Kas iš tikrųjų yra statinis polimorfizmas?
Kompiliavimo metu vyksta tam tikras polimorfizmo tipas, žinomas kaip statinis polimorfizmas (statinis surišimas). Metodo perkrovimas yra kompiliavimo laiko polimorfizmo tipas.
17. Kas iš tikrųjų yra dinaminis polimorfizmas?
Tam tikras polimorfizmas, kuris išsprendžiamas vykdymo metu, vadinamas vykdymo polimorfizmu, taip pat žinomas kaip dinaminis polimorfizmas (dinaminis surišimas). Metodų persvara yra vykdymo laiko polimorfizmo iliustracija.
18. Apibūdinkite konstruktoriaus sąvoką.
Konstruktorius yra specifinis klasės metodas, kuris automatiškai iškviečiamas, kai sukuriamas klasės egzempliorius. Kai pasiekiate klasę, ji sukuriama tokiu pačiu pavadinimu kaip ir klasė ir inicijuojami visi jos nariai. Pagrindinės konstruktoriaus charakteristikos yra šios:
Konstruktoriams grąžinimo tipo nėra.
Galimas konstruktorių perkrovimas.
Nereikalaujama nurodyti konstruktoriaus; NET Framework tai padarys automatiškai.
19. Kas tiksliai yra prieigos modifikatoriai?
Objektinėse kalbose raktiniai žodžiai yra prieigos modifikatoriai arba prieigos specifikatoriai. Tai padeda konfigūruoti klases, metodus ir kitų narių prieinamumą.
20. Kas tiksliai yra destruktorius?
Destruktorius yra būdas atlaisvinti objektui priskirtus išteklius. Kai objektas sunaikinamas, šis metodas automatiškai iškviečiamas.
21. Kas tiksliai yra hibridinis paveldėjimas?
Hibridinis paveldėjimas yra tam tikras paveldėjimas, atsirandantis sumaišius keletą paveldėjimo formų, tokių kaip vienas, daugybinis ir pan.
22. Kas tiksliai yra hierarchinis paveldėjimas?
Hierarchinio paveldėjimo atveju keli poklasiai paveldi iš pirminės klasės. Paveldėjimo rūšis, kai daug klasių kyla iš vienos pagrindinės klasės arba pagrindinės klasės, yra žinomas kaip hierarchinis paveldėjimas. Pavyzdžiui, vaisių klasėje gali būti poklasių, tokių kaip „obuoliai“, „mangai“, „bananas“, „vyšnia“ ir pan.
23. Kokie yra paveldėjimo trūkumai?
Tai pailgina ir apsunkina vykdymo procesą. Taip pat būtina pereiti tarp įvairių klasių. Tėvų ir vaikų klasės visada yra neatsiejamai susijusios.
Pakeitus mokymo programą, tektų peržiūrėti ir tėvų, ir vaiko klasę. Paveldėjimas turi būti įgyvendinamas atsargiai, kitaip rezultatai bus klaidingi.
24. Kas tiksliai yra išimtis?
Išimtis yra incidentas, kuris trukdo įprastam kodo veikimui. Norėdami tęsti vykdymą, galite tvarkyti šias išimtis Java. „Java“ programoje yra daug iš anksto nustatytų išimčių rūšių, o išimčių tvarkymas yra numatytas, kad būtų galima valdyti iškeltas išimtis naudojant „try-catch“ blokus.
25. Kas tiksliai yra išimčių tvarkymas ir kokia jo nauda?
Svarbiausias „Java“ metodas sprendžiant netikėtus vykdymo laiko gedimus yra išimčių tvarkymas. Tai leidžia valdyti vykdymo klaidas, atsirandančias vykdant programą.
Išimčių tvarkymo pranašumai apima galimybę išlaikyti reguliarų programos srautą valdant išimtis. Pavyzdžiui, jei vienoje programos dalyje įvyksta klaida, ji neturės jokios įtakos likusiai programos daliai, jei išimtį tvarkysime su trynimo gaudymo blokais.
26. Kas tiksliai yra virtualios funkcijos?
Virtualios funkcijos taip pat yra įtrauktos į pirminės klasės funkcijas ir jas nepaiso poklasis. Šios procedūros padeda pasiekti vykdymo laiko polimorfizmą.
27. Kas tiksliai yra draugo funkcija?
Draugo funkcija yra funkcija, priklausanti klasei ir kuriai leidžiama prieiga prie viešųjų, privačių arba saugomų duomenų. Jei funkcija apibrėžta už klasės ribų, šių duomenų gauti neįmanoma. Prieigos kontrolės raktiniai žodžiai privatus, viešas ir apsaugotas neturi jokios įtakos draugo deklaracijai, kurią galima padaryti bet kurioje klasės deklaracijoje.
28. Kas iš tikrųjų yra šiukšlių surinkimas?
Šiukšlių surinkimas (GC) yra programavimo kalbų, tokių kaip C# ir Java, elementas, kuris tarnauja kaip atminties atkūrimo sistema. Šiukšlių surinkimo (GC) variklis yra programavimo kalbos komponentas, leidžiantis automatiškai atlaisvinti atminties vietą objektams, kurių programa nebenaudoja.
29. Kas tiksliai yra sukabinimas?
Tai reiškia situacijas, kai įvairios klasės pasikliauja viena kita ir dalijasi žiniomis. Stiprus ryšys atsiranda tada, kai viena klasė turi išsamių žinių apie kitą klasę. Galite nurodyti klasių, metodų ar kintamųjų matomumą naudodami prieigos modifikatorius. Sąsajos naudojamos silpnesniam sujungimui užtikrinti.
30. Kas tiksliai yra sanglauda?
Tai, kaip komponentas atlieka tam tikrą veiklą, vadinamas jo sanglauda. Stiprus, nuoseklus metodas paprasčiausiai atliks apibrėžtą užduotį, o silpnas, nuoseklus metodas padalija vieną užduotį į keletą mažesnių užduočių ir jas užbaigia.
Java.io paketas yra gana nuoseklus, bet java.util paketas ne.
31. Apibūdinkite try/catch bloką.
Kai programa susiduria su klaida dėl neteisingo kodo ar duomenų, „bandyti“ ir „pagauti“ nurodo, kaip ją valdyti. Bandymo blokas yra kodo dalies pavadinimas, kai atsiranda išimčių. Sugavimo blokas naudojamas fiksuoti ir pašalinti bandomųjų blokų išimtis.
32. Apibūdinkite galutinį bloką.
Bandymo raktinio žodžio darbinė kodo dalis nurodoma paskutinė. Jis nurodo kodą, kuris visada paleidžiamas iš karto po bandomosios versijos, ir visus blokus prieš užbaigiant metodą. Paskutinis blokas visada paleidžiamas, nesvarbu, ar išmetama, ar sugaunama išimtis.
33. Kas tiksliai yra sąsaja?
Sąsaja yra abstrakčių metodų ir vartotojo apibrėžto duomenų tipo derinys. Klasė įgyvendina sąsają, paveldėdama abstrakčias sąsajos funkcijas.
Klasė atspindi objekto savybes ir elgesį, o sąsaja apima elgesį, kurį įgyvendina klasė. Sąsaja reiškia „ką“, o klasė – „kaip“.
34. Kas tiksliai yra kompozicija?
Kompozicija gali būti naudojama ryšiui pasiekti. Tai demonstruoja tvirtą objektų ryšį tarp priklausomų ir nepriklausomų objektų, o ne sujungimą. Šiomis aplinkybėmis priklausomas objektas neegzistuoja ir bus pašalintas, jei pirminis objektas bus ištrintas.
35. Kas tiksliai yra konstruktoriaus grandinėjimas?
Konstruktoriaus grandininimas yra būdas iškviesti vieną konstruktorių iš kito, atsižvelgiant į esamą objekto nuorodą. Yra dvi parinktys:
- Dabartinės klasės konstruktorių galima nurodyti naudojant raktinį žodį „this“.
- „Super“ raktinis žodis bus naudojamas iškviesti konstruktorių iš bazinės klasės.
Išvada
Objektinis programavimas reikalauja apgalvoti programos struktūrą ir pasiruošti iš anksto. Nagrinėjama, kaip suskirstyti reikalavimus į pagrindines, daugkartinio naudojimo klases, kurios gali būti naudojamos daiktų egzempliorių kūrimui.
Apskritai, OOP įtraukimas yra geresnis duomenų struktūros ir daugkartinio naudojimo, o tai ilgainiui taupo laiką. Pamatyti Hašdorko interviu serija už pagalbą ruošiantis pokalbiui.
Palikti atsakymą