Enhavtabelo[Kaŝi][Montri]
- 1. Kio ĝuste estas Objekt-Orientita Programado?
- 2. Kial OOP estas necesaj?
- 3. Kiajn avantaĝojn proponas OOPS-principoj?
- 4. Kiuj estas la kolonoj de la koncepto de OOPs?
- 5. Kio ekzakte estas klaso?
- 6. Kio ekzakte estas objekto?
- 7. Kio estas la limigoj de OOP-oj?
- 8. Kio estas heredo?
- 9. Kio precize estas enkapsuligo?
- 10. Kio estas polimorfismo?
- 11. Kio Ĝuste Estas Abstraktado?
- 12. Kio ĝuste estas metodo troŝarĝado?
- 13. Kio ĝuste estas metodo superreganta?
- 14. Kio precize estas superklaso?
- 15. Kio precize estas subklaso?
- 16. Kio ekzakte estas statika polimorfismo?
- 17. Kio ekzakte estas dinamika polimorfismo?
- 18. Priskribu la nocion de Konstruisto.
- 19. Kio ĝuste estas la alirmodifiloj?
- 20. Kio precize estas detruanto?
- 21. Kio ĝuste estas hibrida heredo?
- 22. Kio ĝuste estas hierarkia heredo?
- 23. Kio estas la malavantaĝoj de heredo?
- 24. Kio ĝuste estas escepto?
- 25. Kio ekzakte estas escepttraktado, kaj kiaj estas ĝiaj avantaĝoj?
- 26. Kio ekzakte estas virtualaj funkcioj?
- 27. Kio precize estas la amika funkcio?
- 28. Kio ĝuste estas Rubkolekto?
- 29. Kio precize estas kuplado?
- 30. Kio ĝuste estas kohezio?
- 31. Priskribu try/catch-blokon.
- 32. Priskribu finan blokon.
- 33. Kio ĝuste estas interfaco?
- 34. Kio precize estas komponado?
- 35. Kio ĝuste estas konstrukciisto ĉenado?
- konkludo
Unu el la plej influaj programaj paradigmoj estas nomita OOPs, aŭ objekt-orientita programado. Anstataŭ funkcioj kaj procezoj, ĝi emfazas klasojn kaj objektojn.
Ĝia ĉefa celo estas konekti datumojn kaj aferojn por ke estu pli simple labori kun ili. Ĉiu objekto en OOP-oj konsistas el kodo en la formo de proceduroj aŭ metodoj kaj datumoj en la formo de kampoj.
Lingvoj kiel C++, Objective C, Python, Perl kaj Java estas iuj el la plej popularaj objektoorientitaj. programlingvoj.
Estas grave kompreni pli pri tio, ĉar intervjuaj demandoj estas ekstreme tipaj. Plej multaj firmaoj serĉas inĝenierojn, kiuj konas objektemajn metodojn kaj ŝablonojn. Do, se vi intencas ĉeesti intervjuon, vi devas esti bone sperta pri OOP-ideoj.
Diversaj objekt-orientitaj programaj intervjuaj demandoj de komencanto ĝis spertulo estos montritaj en ĉi tiu afiŝo. Vi povas do pasi ajnan nivelon de intervjuo kaj certigi vian revan pozicion.
1. Kio ĝuste estas Objekt-Orientita Programado?
Programado kiu estas objektorientita (OOPoj) estas bazita sur faktaj objektoj prefere ol nur funkcioj kaj procezoj. Klasoj estas kreitaj por individuaj produktoj.
Heredo, polimorfismo, kaj kaŝado estas ekzemploj de realmondaj konceptoj kiujn OOPoj integrigas en programado. Ĝi ankaŭ ebligas konekti datumojn kaj kodon.
2. Kial OOP estas necesaj?
Estas pluraj kialoj kial OOP-oj estas preferindaj, tamen la jenaj estas la plej gravaj:
- OOPoj, permesas homojn facile kompreni programaron eĉ se ili ne konas la efektivigon.
- Ho, plibonigu kodan legeblecon, kompreneblecon kaj konserveblecon je dek faktoro.
- Uzante OOPojn, eĉ ekstreme grandaj aplikoj povas esti simple konstruitaj kaj kontrolitaj.
3. Kiajn avantaĝojn proponas OOPS-principoj?
- OOPS, programaj objektoj simulas realmondajn objektojn, reduktante kompleksecon kaj plibonigante programklarecon.
- Objektoj povas esti uzataj plurfoje en multaj programoj.
- Ĉiu objekto kreas klaran unuon kies internaj operacioj estas sendependaj de aliaj sistemkomponentoj.
- Enkondukante kelkajn novajn objektojn kaj ĝisdatigante kelkajn jam ekzistantajn, eblas aldoni novajn funkciojn aŭ adaptiĝi al ŝanĝiĝantaj funkciaj kondiĉoj.
- La procezoj aŭ datenreprezentantaro de OOPs-programo povas facile sperti malgrandajn alĝustigojn.
4. Kiuj estas la kolonoj de la koncepto de OOPs?
La sekvantaroj estas la ĉefaj kolonoj de OOP:
heredaĵo: Ĝi ebligas al klasoj heredi la atributojn de alia klaso.
Enkapsuligo: Ĉi tio estas difinita kiel objekta eco kiu kaŝas kritikajn informojn. Ĉi tio konservas la datumojn kaŝitaj de klasanoj. La specifistoj priskribas kiel la atributo de la objekto estas alirita en kodo.
Polimorfismo: Ĉi tio ebligas al vi efektivigi unuopan agadon en pluraj manieroj. Ĝi estas plenumita per interfacoj, en kiuj ni deklaras unu interfacon kiu estas poste efektivigita plurfoje.
Abstraktado: Vi povas uzi ĉi tiun funkcion por kaŝi kritikajn informojn de la ekstera mondo kaj prezenti nur la esencajn faktojn.
5. Kio ekzakte estas klaso?
Klaso estas prototipo formita de objektoj en diversaj statoj kaj kun diversaj kondutoj. Ĝi havas kelkajn metodojn, kiuj estas dividitaj de la objektoj en tiu klaso.
6. Kio ekzakte estas objekto?
Objekto estas reala ento, kiu funkcias kiel la fundamenta unuo de OOPoj, kiel seĝo, kato aŭ hundo. Diversaj objektoj havas diversajn statojn, trajtojn kaj agojn.
7. Kio estas la limigoj de OOP-oj?
- La grandeco estas pli granda ol tiu de aliaj aplikoj.
- Ĝi postulas iom da alkutimiĝo.
- Iuj specoj de problemoj ne postulas ĝin.
- Ĝi estis laborintensa krei, kaj kompare kun aliaj aplikoj, ĝi funkcias pli malrapide.
8. Kio estas heredo?
Nocio nomita heredo rilatas al la kundivido de la establita strukturo kaj konduto de klaso fare de alia klaso. Kiam heredo estas aplikita al ununura klaso, ĝi estas referita kiel ununura heredo; kiam ĝi dependas de multaj klasoj, ĝi estas referita kiel multoblaj heredaĵoj.
9. Kio precize estas enkapsuligo?
La ideo de OOPoj inkluzivas ankaŭ enkapsuligon. Ĝi priskribas la miksadon de datumoj kaj datummanipuladoteknikoj. Aldone, ĝi helpas malhelpi rektan aliron al iuj partoj de objekto.
10. Kio estas polimorfismo?
En OOP-lingvoj, polimorfismo estas fundamenta koncepto. Ĝi montras kiel malsamaj klasoj povas kunhavi interfacon. Ĉi tiuj klasoj ĉiuj kapablas havi unikajn interfacajn realigojn.
11. Kio Ĝuste Estas Abstraktado?
Abstraktado estas objekto-orientita programado (OOPoj) koncepto uzita por krei la strukturon de real-mondaj objektoj. Ĝi "montras" nur la plej gravajn kvalitojn kaj "kaŝas" eksterajn informojn de la ekstera mondo. La baza celo de abstraktado estas ŝirmi homojn kontraŭ senbezonaj informoj.
12. Kio ĝuste estas metodo troŝarĝado?
Eblas ke du aŭ pli da proceduroj havu la saman nomon. Ili tamen havu apartajn parametrojn, malsamajn nombrojn da parametroj, apartajn specojn, aŭ ambaŭ. Ĉi tiuj estas konataj kiel troŝarĝitaj metodoj, kaj la trajto estas konata kiel metodo troŝarĝado.
13. Kio ĝuste estas metodo superreganta?
Objekt-orientita programado inkluzivas la ideon de metodo superregado. Ĝi estas lingvotrajto, kiu lasas subklason aŭ infanklason oferti personigitan efektivigon de metodo, kiun unu el ĝiaj superklasoj aŭ gepatraj klasoj jam provizas.
14. Kio precize estas superklaso?
Superklaso, ofte konata kiel baza klaso, estas speco de klaso kiu funkcias kiel la gepatro de alia klaso aŭ klasoj. La Aŭtoklaso, ekzemple, havas subklason nomitan Veturilo.
15. Kio precize estas subklaso?
Subklaso estas subklaso de alia klaso. Kamioneto, ekzemple, estas Veturila subklaso aŭ derivita klaso.
16. Kio ekzakte estas statika polimorfismo?
Dum kompilaĵo, speco de polimorfismo konata kiel senmova polimorfismo (senmova ligado) okazas. Metodotroŝarĝado estas speco de kompiltempa polimorfismo.
17. Kio ekzakte estas dinamika polimorfismo?
Speco de polimorfismo kiu estas solvita en rultempo estas nomita rultempa polimorfismo, ankaŭ konata kiel dinamika polimorfismo (dinamika ligado). La superregado de metodoj estas ilustraĵo de rultempa polimorfismo.
18. Priskribu la nocion de Konstruisto.
Konstrukciisto estas specifa metodo de klaso, kiu estas aŭtomate vokita kiam klasokazaĵo estas kreita. Kiam vi aliras la klason, ĝi estas konstruita kun la sama nomo kiel la klaso kaj pravalorigas ĉiujn ĝiajn membrojn. La primaraj trajtoj de konstrukciisto estas kiel sekvas:
Ne ekzistas revena tipo por konstrukciistoj.
Troŝarĝi konstrukciistojn eblas.
Ne necesas specifi konstruilon; the.NET Framework faros ĝin aŭtomate.
19. Kio ĝuste estas la alirmodifiloj?
En objektorientitaj lingvoj, ŝlosilvortoj estas alirmodifiloj aŭ alirspecifiloj. Ĝi helpas en la agordo de klasoj, metodoj kaj alirebleco de aliaj membroj.
20. Kio precize estas detruanto?
Detruanto estas metodo por liberigi la rimedojn asignitajn al objekto. Kiam objekto estas detruita, ĉi tiu metodo estas aŭtomate vokita.
21. Kio ĝuste estas hibrida heredo?
Hibrida heredo estas speco de heredo generita per la miksado de pluraj formoj de heredo kiel unuopa, multobla, ktp.
22. Kio ĝuste estas hierarkia heredo?
Multoblaj subklasoj heredas de gepatra klaso en la situacio de hierarkia heredo. Speco de heredo en kiu multaj klasoj descendas de ununura gepatro aŭ bazklaso estas konata kiel hierarkia heredo. Ekzemple, la fruktoklaso povas enhavi subklasojn kiel "pomo, "mango", "banano", "ĉerizo", ktp.
23. Kio estas la malavantaĝoj de heredo?
Ĝi plilongigas kaj malfaciligas la ekzekutprocezon. Ĝi ankaŭ postulas ŝanĝi inter diversaj klasoj. La gepatra kaj infanklasoj ĉiam estas nedisigeble ligitaj.
Modifoj al la instruplano necesigus reviziojn por kaj la gepatro kaj la klaso de la infano. Heredaĵo devas esti efektivigita zorge aŭ la rezultoj estos malĝustaj.
24. Kio ĝuste estas escepto?
Escepto estas okazaĵo, kiu malhelpas la kutiman funkciadon de la kodo. Por daŭrigi ekzekuton, vi povas trakti ĉi tiujn esceptojn en Java. En Java, ekzistas multaj specoj de antaŭdifinitaj esceptoj, kaj escepttraktado estas disponigita por kontroli la levitajn esceptojn uzante try-catch-blokojn.
25. Kio ekzakte estas escepttraktado, kaj kiaj estas ĝiaj avantaĝoj?
La plej grava metodo en Java por trakti neatenditajn rultempajn fiaskojn estas escepttraktado. Ĝi ebligas al vi kontroli rultempajn erarojn, kiuj aperas dum la ekzekuto de la programo.
La avantaĝoj de escepttraktado inkluzivas la kapablon reteni regulan programfluon dum administrado de esceptoj. Ekzemple, se eraro okazas en unu sekcio de la programo, ĝi ne havos efikon sur la resto de la programo se ni pritraktas la escepton per try-catch-blokoj.
26. Kio ekzakte estas virtualaj funkcioj?
Virtualaj funkcioj ankaŭ estas inkluditaj en la funkcioj de la gepatra klaso kaj estas anstataŭitaj de la subklaso. Tiuj rutinoj helpas pri la atingo de rultempa polimorfismo.
27. Kio precize estas la amika funkcio?
Amika funkcio estas funkcio kiu apartenas al klaso kaj estas permesita aliro al ĝiaj publikaj, privataj aŭ protektitaj datumoj. Se la funkcio estas difinita ekster la klaso, ne eblas preni ĉi tiujn datumojn. La alirkontrolaj ŝlosilvortoj privata, publika kaj protektita havas nenian rilaton al amika deklaro, kiu povas esti farita ie ajn en la klasdeklaro.
28. Kio ĝuste estas Rubkolekto?
Rubkolekto (GC) estas elemento de programlingvoj kiel C# kaj Java kiu funkcias kiel memora reakiro. Rubokolektado (GC) motoro estas komponento de programlingvo kiu permesas aŭtomatigitan memorspacliberigon por objektoj kiujn la aplikaĵo ne plu uzas.
29. Kio precize estas kuplado?
Ĝi rilatas al situacioj en kiuj diversaj klasoj dependas unu de la alia kaj dividas scion. Forta ligo okazas kiam unu klaso havas detalan scion pri alia klaso. Vi povas specifi la videblecon de klasoj, metodoj aŭ variabloj per alirmodifiloj. Interfacoj kutimas disponigi pli malfortan kupladon.
30. Kio ĝuste estas kohezio?
La maniero kiel komponento plenumas certan agadon estas referita kiel sia kohezio. Forta, kohezia aliro simple faros la difinitan taskon, dum malforta, kohezia metodo dividus la ununuran taskon en plurajn pli malgrandajn taskojn kaj poste kompletigus ilin.
La pako Java.io estas sufiĉe kohera, sed la pako java.util ne.
31. Priskribu try/catch-blokon.
Kiam programo renkontas eraron pro malĝusta kodo aŭ datumoj, "provu" kaj "kapti" indikas kiel administri ĝin. Provo-bloko estas la nomo de la parto de la kodo kiam okazas esceptoj. Catch-bloko estas uzata por kapti kaj trakti esceptojn de try-blokoj.
32. Priskribu finan blokon.
La laborparto de kodo de la try-ŝlosilvorto estas indikita laste. Ĝi indikas la kodon, kiu ĉiam estas kurita tuj post la provo kaj ajnaj kaptblokoj antaŭ ol la metodo estas kompletigita. La fina bloko ĉiam ruliĝas ĉu escepto estas ĵetita aŭ kaptita.
33. Kio ĝuste estas interfaco?
Interfaco estas kombinaĵo de abstraktaj metodoj kaj uzant-difinita datumtipo. Klaso efektivigas interfacon, heredante la abstraktajn funkciojn de la interfaco.
Klaso reprezentas la trajtojn kaj kondutojn de objekto, dum interfaco inkludas la kondutojn kiujn klaso efektivigas. La interfaco reprezentas "kio", dum la Klaso peras "kiel".
34. Kio precize estas komponado?
La komponado povas esti uzata por atingi rilaton. Ĝi montras fortan objektan ligon inter la dependaj kaj sendependaj objektoj, kontraste al agregado. La dependa objekto ne ekzistas en ĉi tiu cirkonstanco kaj estos forigita se la gepatra objekto estas forigita.
35. Kio ĝuste estas konstrukciisto ĉenado?
Konstrukcia ĉenado estas tekniko por voki unu konstruilon de alia rilate al la nuna objektoreferenco. Estas du opcioj:
- La konstrukciisto en la nuna klaso povas esti referencita uzante la ŝlosilvorton "this".
- La "super" ŝlosilvorto estos uzata por alvoki la konstruilon el la baza klaso.
konkludo
Objekt-Orientita programado necesigas pensi pri la strukturo de la programo kaj prepariĝi antaŭtempe. Ekzamenante kiel dividi la postulojn en bazajn, reuzeblajn klasojn, kiuj povas esti uzataj por krei ekzemplojn de aferoj.
Ĝenerale, akcepti OOP provizas plibonigi datumstrukturoj kaj reuzebleco, kiu ŝparas tempon longtempe. Vidu La Intervjuserio de Hashdork por helpo pri preparado de intervjuo.
Lasi Respondon