Pregled sadržaja[Sakriti][Pokazati]
- 1. Što je zapravo objektno orijentirano programiranje?
- 2. Zašto su OOP-ovi potrebni?
- 3. Koje prednosti nude OOPS principi?
- 4. Koji su stupovi OOP koncepta?
- 5. Što je točno klasa?
- 6. Što je zapravo objekt?
- 7. Koja su OOP ograničenja?
- 8. Što je nasljeđivanje?
- 9. Što je točno enkapsulacija?
- 10. Što je polimorfizam?
- 11. Što je točno apstrakcija?
- 12. Što je zapravo preopterećenje metode?
- 13. Što je točno nadjačavanje metode?
- 14. Što je točno superklasa?
- 15. Što je točno potklasa?
- 16. Što je zapravo statički polimorfizam?
- 17. Što je zapravo dinamički polimorfizam?
- 18. Opišite pojam konstruktora.
- 19. Što su točno modifikatori pristupa?
- 20. Što je zapravo destruktor?
- 21. Što je zapravo hibridno nasljeđivanje?
- 22. Što je točno hijerarhijsko nasljeđivanje?
- 23. Koji su nedostaci nasljeđivanja?
- 24. Što je točno iznimka?
- 25. Što je točno rukovanje iznimkama i koje su njegove prednosti?
- 26. Što su zapravo virtualne funkcije?
- 27. Što je zapravo funkcija prijatelja?
- 28. Što je zapravo Garbage Collection?
- 29. Što je zapravo sprezanje?
- 30. Što je zapravo kohezija?
- 31. Opišite try/catch blok.
- 32. Opišite završni blok.
- 33. Što je zapravo sučelje?
- 34. Što je zapravo kompozicija?
- 35. Što je zapravo ulančavanje konstruktora?
- Zaključak
Jedna od najutjecajnijih paradigmi programiranja zove se OOP ili objektno orijentirano programiranje. Umjesto funkcija i procesa, naglašava klase i objekte.
Njegov glavni cilj je povezati podatke i stvari kako bi se s njima lakše radilo. Svaki objekt u OOP-u sastoji se od koda u obliku procedura ili metoda i podataka u obliku polja.
Jezici poput C++, Objective C, Python, Perl i Java neki su od najpopularnijih objektno orijentiranih jezika programski jezici.
Od ključne je važnosti razumjeti više o tome budući da su ups pitanja za intervju vrlo tipična. Većina tvrtki traži inženjere koji su upoznati s objektno orijentiranim metodama i obrascima. Dakle, ako namjeravate prisustvovati intervjuu, morate biti dobro upućeni u OOP ideje.
U ovom će postu biti prikazana različita pitanja za razgovor o objektno orijentiranom programiranju, od početničke do stručne razine. Stoga možete proći bilo koju razinu intervjua i osigurati poziciju iz snova.
1. Što je zapravo objektno orijentirano programiranje?
Programiranje koje je orijentirano na objekte (OOP) temelji se na stvarnim objektima, a ne samo na funkcijama i procesima. Razredi se kreiraju za pojedinačne proizvode.
Nasljeđivanje, polimorfizam i prikrivanje primjeri su koncepata iz stvarnog svijeta koje OOP-ovi uključuju u programiranje. Također omogućuje povezivanje podataka i koda.
2. Zašto su OOP-ovi potrebni?
Postoji nekoliko razloga zašto su OOP-ovi poželjniji, međutim, sljedeći su najvažniji:
- OOP-ovi omogućuju ljudima da lako razumiju softver čak i ako nisu upoznati s implementacijom.
- Ups, poboljšajte čitljivost koda, razumljivost i mogućnost održavanja za faktor deset.
- Korištenjem OOP-a, čak i iznimno velike aplikacije mogu se jednostavno izgraditi i kontrolirati.
3. Koje prednosti nude OOPS principi?
- Ups, programski objekti simuliraju objekte stvarnog svijeta, smanjujući složenost i povećavajući jasnoću programa.
- Objekti se mogu više puta koristiti u mnogim programima.
- Svaki objekt stvara poseban entitet čije su unutarnje operacije neovisne o drugim komponentama sustava.
- Uvođenjem nekoliko novih objekata i ažuriranjem nekoliko već postojećih, moguće je dodati nove funkcionalnosti ili se prilagoditi promjenjivim uvjetima rada.
- Procesi OOP programa ili prikaz podataka mogu se lako podvrgnuti malim prilagodbama.
4. Koji su stupovi OOP koncepta?
Sljedeći su glavni stupovi OOP-a:
Nasljeđivanje: Omogućuje klasama da naslijede atribute druge klase.
ovijanje: Ovo je definirano kao svojstvo objekta koje skriva kritične informacije. Time se podaci skrivaju od članova razreda. Specifikatori opisuju kako se atributu objekta pristupa u kodu.
polimorfizam: Ovo vam omogućuje obavljanje jedne aktivnosti na nekoliko načina. Ostvaruje se preko sučelja, u kojima deklariramo jedno sučelje koje se naknadno implementira nekoliko puta.
Apstrakcija: Ovu funkciju možete koristiti za skrivanje kritičnih informacija od vanjskog svijeta i predstavljanje samo bitnih činjenica.
5. Što je točno klasa?
Klasa je prototip sastavljen od objekata u različitim stanjima i s različitim ponašanjima. Ima niz metoda koje dijele objekti u toj klasi.
6. Što je zapravo objekt?
Objekt je stvarni entitet koji služi kao temeljna jedinica OOP-a, poput stolice, mačke ili psa. Razni objekti imaju različita stanja, svojstva i akcije.
7. Koja su OOP ograničenja?
- Veličina je veća nego kod drugih aplikacija.
- Zahtijeva neko vrijeme privikavanja.
- Određene vrste problema to ne zahtijevaju.
- Bilo je naporno za izradu, au usporedbi s drugim aplikacijama radi sporije.
8. Što je nasljeđivanje?
Pojam koji se zove nasljeđivanje odnosi se na dijeljenje uspostavljene strukture i ponašanja klase s drugom klasom. Kada se nasljeđivanje primjenjuje na jednu klasu, to se naziva jednostrukim nasljeđivanjem; kada ovisi o mnogim klasama, naziva se višestruko nasljeđivanje.
9. Što je točno enkapsulacija?
Ideja OOP-a uključuje i enkapsulaciju. Opisuje spajanje podataka i tehnika manipulacije podacima. Osim toga, pomaže u sprječavanju izravnog pristupa nekim dijelovima objekta.
10. Što je polimorfizam?
U OOP jezicima, polimorfizam je temeljni koncept. Pokazuje kako različite klase mogu dijeliti sučelje. Sve ove klase mogu imati jedinstvene implementacije sučelja.
11. Što je točno apstrakcija?
Apstrakcija je koncept objektno orijentiranog programiranja (OOPs) koji se koristi za stvaranje strukture objekata stvarnog svijeta. On "prikazuje" samo najvažnije kvalitete i "skriva" suvišne informacije iz vanjskog svijeta. Osnovni cilj apstrakcije je zaštititi ljude od nepotrebnih informacija.
12. Što je zapravo preopterećenje metode?
Moguće je da dva ili više postupaka imaju isti naziv. Oni bi, međutim, trebali imati različite parametre, različit broj parametara, različite vrste ili oboje. One su poznate kao preopterećene metode, a značajka je poznata kao preopterećenje metode.
13. Što je točno nadjačavanje metode?
Objektno orijentirano programiranje uključuje ideju nadjačavanja metode. To je značajka jezika koja dopušta podklasi ili klasi podređenoj ponuditi prilagođenu implementaciju metode koju jedna od njenih superklasa ili roditeljskih klasa već nudi.
14. Što je točno superklasa?
Superklasa, često poznata kao bazna klasa, vrsta je klase koja djeluje kao roditelj druge klase ili klasa. Klasa automobila, na primjer, ima podklasu koja se zove Vozilo.
15. Što je točno potklasa?
Potklasa je podklasa druge klase. Na primjer, kombi je podklasa vozila ili izvedena klasa.
16. Što je zapravo statički polimorfizam?
Tijekom kompajliranja odvija se tip polimorfizma poznat kao statički polimorfizam (statičko vezanje). Preopterećenje metode je vrsta polimorfizma u vrijeme prevođenja.
17. Što je zapravo dinamički polimorfizam?
Vrsta polimorfizma koji se rješava u vremenu izvođenja naziva se polimorfizam u vremenu izvođenja, također poznat kao dinamički polimorfizam (dinamičko vezanje). Nadjačavanje metoda je ilustracija polimorfizma vremena izvođenja.
18. Opišite pojam konstruktora.
Konstruktor je specifična metoda klase koja se automatski poziva kada se kreira instanca klase. Kada pristupite klasi, ona se konstruira s istim imenom kao i klasa i inicijalizira sve svoje članove. Osnovne karakteristike konstruktora su sljedeće:
Ne postoji povratni tip za konstruktore.
Preopterećenje konstruktora je moguće.
Nije potrebno navesti konstruktor; .NET Framework će to učiniti automatski.
19. Što su točno modifikatori pristupa?
U objektno orijentiranim jezicima, ključne riječi su modifikatori pristupa ili specifikatori pristupa. Pomaže u konfiguraciji klasa, metoda i dostupnosti drugih članova.
20. Što je zapravo destruktor?
Destruktor je metoda za oslobađanje resursa dodijeljenih objektu. Kada se objekt uništi, ova se metoda automatski poziva.
21. Što je zapravo hibridno nasljeđivanje?
Hibridno nasljeđivanje je vrsta nasljeđivanja koja nastaje miješanjem nekoliko oblika nasljeđivanja kao što su jednostruko, višestruko nasljeđivanje i tako dalje.
22. Što je točno hijerarhijsko nasljeđivanje?
Više potklasa nasljeđuje roditeljsku klasu u situaciji hijerarhijskog nasljeđivanja. Vrsta nasljeđivanja u kojoj brojne klase potječu od jednog roditelja ili osnovne klase poznata je kao hijerarhijsko nasljeđivanje. Na primjer, klasa voća može sadržavati podklase kao što su 'jabuka, "mango", "banana", "trešnja" i tako dalje.
23. Koji su nedostaci nasljeđivanja?
To produljuje i komplicira postupak izvršenja. Također zahtijeva prebacivanje između različitih klasa. Klase roditelja i djece uvijek su neraskidivo povezane.
Izmjene nastavnog plana i programa zahtijevale bi revizije i za roditelje i za razred djeteta. Nasljeđivanje se mora provoditi pažljivo ili će rezultati biti pogrešni.
24. Što je točno iznimka?
Izuzetak je incident koji ometa uobičajeni rad koda. Da biste nastavili s izvođenjem, možete obraditi ove iznimke u Javi. U Javi postoje mnoge vrste unaprijed definiranih iznimaka, a rukovanje iznimkama omogućeno je za kontrolu pokrenutih iznimaka korištenjem try-catch blokova.
25. Što je točno rukovanje iznimkama i koje su njegove prednosti?
Najvažnija metoda u Javi za rješavanje neočekivanih grešaka u vremenu izvođenja je rukovanje iznimkama. Omogućuje vam kontrolu pogrešaka tijekom izvođenja koje se javljaju tijekom izvođenja programa.
Prednosti rukovanja iznimkama uključuju mogućnost zadržavanja redovnog tijeka programa dok se upravlja iznimkama. Na primjer, ako se pogreška dogodi u jednom odjeljku programa, to neće imati utjecaja na ostatak programa ako postupamo s iznimkom blokovima try-catch.
26. Što su zapravo virtualne funkcije?
Virtualne funkcije također su uključene u funkcije nadređene klase i nadjačane su podklasom. Ove rutine pomažu u postizanju polimorfizma vremena izvođenja.
27. Što je zapravo funkcija prijatelja?
Prijateljska funkcija je funkcija koja pripada klasi i ima dopušten pristup svojim javnim, privatnim ili zaštićenim podacima. Ako je funkcija definirana izvan klase, nije moguće dohvatiti te podatke. Ključne riječi kontrole pristupa private, public i protected nemaju nikakvog utjecaja na deklaraciju prijatelja, koja se može napraviti bilo gdje u deklaraciji klase.
28. Što je zapravo Garbage Collection?
Sakupljanje smeća (GC) je element programskih jezika kao što su C# i Java koji služi kao sustav za oporavak memorije. Mehanizam za sakupljanje smeća (GC) komponenta je programskog jezika koji omogućuje automatsko oslobađanje memorijskog prostora za objekte koje aplikacija više ne koristi.
29. Što je zapravo sprezanje?
Odnosi se na situacije u kojima se različite klase oslanjaju jedna na drugu i dijele znanje. Snažna veza se javlja kada jedna klasa ima detaljno znanje o drugoj klasi. Možete odrediti vidljivost klasa, metoda ili varijabli pomoću modifikatora pristupa. Sučelja se koriste za slabije spajanje.
30. Što je zapravo kohezija?
Način na koji komponenta ostvaruje određenu aktivnost naziva se njezina kohezija. Snažan, kohezivni pristup jednostavno će obaviti definirani zadatak, dok bi slaba, kohezivna metoda podijelila jedan zadatak u nekoliko manjih zadataka i zatim ih dovršila.
Paket Java.io je prilično koherentan, ali paket java.util nije.
31. Opišite try/catch blok.
Kada program naiđe na pogrešku zbog netočnog koda ili podataka, "pokušaj" i "uhvati" označavaju kako to riješiti. Blok pokušaja naziv je dijela koda kada se pojave iznimke. Blok catch koristi se za hvatanje i rješavanje iznimaka iz try blokova.
32. Opišite završni blok.
Radni dio koda ključne riječi try naveden je zadnji. Označava kod koji se uvijek pokreće odmah nakon probe i sve blokove za hvatanje prije dovršetka metode. Završni blok se uvijek izvodi bez obzira na to je li izuzetak izbačen ili uhvaćen.
33. Što je zapravo sučelje?
Sučelje je kombinacija apstraktnih metoda i korisnički definiranog tipa podataka. Klasa implementira sučelje, nasljeđujući apstraktne funkcije sučelja.
Klasa predstavlja svojstva i ponašanja objekta, dok sučelje uključuje ponašanja koja klasa implementira. Sučelje predstavlja "što", dok klasa prenosi "kako".
34. Što je zapravo kompozicija?
Sastav se može koristiti za postizanje veze. Pokazuje jaku objektnu vezu između zavisnih i nezavisnih objekata, za razliku od združivanja. Ovisni objekt ne postoji u ovoj okolnosti i bit će uklonjen ako se nadređeni objekt izbriše.
35. Što je zapravo ulančavanje konstruktora?
Ulančavanje konstruktora je tehnika za pozivanje jednog konstruktora iz drugog u odnosu na trenutnu referencu objekta. Postoje dvije opcije:
- Konstruktor u trenutnoj klasi može se referencirati pomoću ključne riječi "this".
- Ključna riječ "super" koristit će se za pozivanje konstruktora iz osnovne klase.
Zaključak
Objektno orijentirano programiranje zahtijeva razmišljanje o strukturi programa i pripremu unaprijed. Ispitivanje kako podijeliti zahtjeve u osnovne, ponovno upotrebljive klase koje se mogu koristiti za stvaranje instanci stvari.
Općenito, prihvaćanje OOP-a omogućuje poboljšanje strukture podataka i mogućnost ponovne upotrebe, što dugoročno štedi vrijeme. Vidjeti Hashdorkova serija intervjua za pomoć u pripremi intervjua.
Ostavi odgovor