Tartalomjegyzék[Elrejt][Előadás]
- 1. Mi is pontosan az objektum-orientált programozás?
- 2. Miért van szükség OOP-ra?
- 3. Milyen előnyöket kínálnak az OOPS-elvek?
- 4. Melyek az OOP-koncepció pillérei?
- 5. Mi is pontosan az osztály?
- 6. Mi is pontosan az objektum?
- 7. Mik az OOP korlátozásai?
- 8. Mi az öröklés?
- 9. Mi is pontosan a kapszulázás?
- 10. Mi a polimorfizmus?
- 11. Mi is pontosan az absztrakció?
- 12. Mi is pontosan a módszer túlterhelése?
- 13. Mi is pontosan a módszer felülbírálása?
- 14. Mi is pontosan a szuperosztály?
- 15. Mi is pontosan az alosztály?
- 16. Mi is pontosan a statikus polimorfizmus?
- 17. Mi is pontosan a dinamikus polimorfizmus?
- 18. Ismertesse a konstruktor fogalmát!
- 19. Mik is pontosan a hozzáférés módosítók?
- 20. Mi is pontosan a destruktor?
- 21. Mi is pontosan a hibrid öröklődés?
- 22. Mi is pontosan a hierarchikus öröklődés?
- 23. Mik az öröklés hátrányai?
- 24. Pontosan mi a kivétel?
- 25. Mi is pontosan a kivételkezelés, és mik az előnyei?
- 26. Mik is pontosan a virtuális függvények?
- 27. Mi is pontosan a barát függvény?
- 28. Mi is pontosan a szemétgyűjtés?
- 29. Mi is pontosan a csatolás?
- 30. Mi is pontosan a kohézió?
- 31. Ismertessen egy try/catch blokkot.
- 32. Írjon le egy utolsó blokkot!
- 33. Mi is pontosan az interfész?
- 34. Mi is pontosan a kompozíció?
- 35. Mi is pontosan a konstruktor láncolás?
- Következtetés
Az egyik legbefolyásosabb programozási paradigma az OOP, vagy objektum-orientált programozás. A függvények és folyamatok helyett az osztályokat és az objektumokat helyezi előtérbe.
Fő célja az adatok és dolgok összekapcsolása, hogy egyszerűbb legyen velük dolgozni. Az OOP-ban minden egyes objektum eljárások vagy metódusok formájában lévő kódból és mezők formájában lévő adatokból áll.
Az olyan nyelvek, mint a C++, az Objective C, a Python, a Perl és a Java, a legnépszerűbb objektumorientált nyelvek. programozási nyelvek.
Nagyon fontos, hogy többet megértsünk erről, mivel az hoppá interjú kérdései rendkívül jellemzőek. A legtöbb cég olyan mérnököket keres, akik ismerik az objektumorientált módszereket és mintákat. Tehát, ha részt kíván venni egy interjún, jól kell ismernie az OOP ötleteket.
Ebben a bejegyzésben különféle objektum-orientált programozási interjúkérdések jelennek meg a kezdőtől a szakértő szintig. Így bármilyen szintű interjút teljesíthet, és bebiztosíthatja álmai pozícióját.
1. Mi is pontosan az objektum-orientált programozás?
Az objektumorientált programozás (OOP) tényleges objektumok alapján történik, nem csupán függvényeken és folyamatokon. Az osztályokat egyedi termékekhez hozzák létre.
Az öröklődés, a polimorfizmus és az elrejtés olyan valós koncepciók példái, amelyeket az OOP-ok beépítenek a programozásba. Lehetővé teszi adatok és kódok összekapcsolását is.
2. Miért van szükség OOP-ra?
Számos oka van annak, hogy miért részesítik előnyben az OOP-t, azonban a következők a legfontosabbak:
- OOPs, lehetővé teszi az emberek számára, hogy könnyen megértsék a szoftvert még akkor is, ha nem ismerik a megvalósítást.
- Hoppá, tízszeresére javítja a kód olvashatóságát, érthetőségét és karbantarthatóságát.
- Az OOP használatával még a rendkívül nagy alkalmazások is egyszerűen felépíthetők és vezérelhetők.
3. Milyen előnyöket kínálnak az OOPS-elvek?
- Hoppá, a programozási objektumok valóságos objektumokat szimulálnak, csökkentve a bonyolultságot és javítva a program egyértelműségét.
- Az objektumok számos programban többször is felhasználhatók.
- Minden objektum külön entitást hoz létre, amelynek belső műveletei függetlenek a többi rendszerkomponenstől.
- Néhány új objektum bevezetésével és néhány már meglévő frissítésével lehetőség nyílik új funkciók hozzáadására vagy a változó működési feltételekhez való alkalmazkodásra.
- Az OOPs program folyamatai vagy adatábrázolása könnyen kis módosításokon eshet át.
4. Melyek az OOP-koncepció pillérei?
A következők az OOP fő pillérei:
Öröklés: Lehetővé teszi, hogy az osztályok örököljék egy másik osztály attribútumait.
Egységbezárás: Ez egy olyan objektumtulajdonság, amely kritikus információkat rejt. Ez elrejti az adatokat az osztály tagjai elől. A specifikációk leírják, hogy az objektum attribútuma hogyan érhető el kódban.
polimorfizmus: Ez lehetővé teszi, hogy egyetlen tevékenységet többféleképpen is végrehajtson. Ez interfészeken keresztül valósul meg, amelyekben deklarálunk egy interfészt, amelyet utólag többször implementálunk.
Absztrakció: Ezzel a funkcióval elrejtheti a kritikus információkat a külvilág elől, és csak a lényeges tényeket mutathatja be.
5. Mi is pontosan az osztály?
Az osztály egy prototípus, amely különböző állapotú és eltérő viselkedésű objektumokból áll. Számos metódusa van, amelyeket az adott osztály objektumai megosztanak.
6. Mi is pontosan az objektum?
Az objektum egy valós entitás, amely az OOP-k alapvető egységeként szolgál, mint például egy szék, macska vagy kutya. A különböző objektumok különféle állapotokkal, tulajdonságokkal és cselekvésekkel rendelkeznek.
7. Mik az OOP korlátozásai?
- A méret nagyobb, mint más alkalmazásoké.
- Némi megszokást igényel.
- Bizonyos típusú problémák nem igényelnek.
- Létrehozása munkaigényes volt, más alkalmazásokhoz képest lassabban működik.
8. Mi az öröklés?
Az öröklődésnek nevezett fogalom egy osztály felépített szerkezetének és viselkedésének egy másik osztály általi megosztására utal. Ha az öröklődést egyetlen osztályra alkalmazzák, azt egyetlen öröklődésnek nevezik; ha sok osztálytól függ, többszörös öröklődésnek nevezik.
9. Mi is pontosan a kapszulázás?
Az OOP-ok gondolata magában foglalja a tokozást is. Leírja az adatok és az adatkezelési technikák keverését. Ezenkívül segít megakadályozni az objektum egyes részeihez való közvetlen hozzáférést.
10. Mi a polimorfizmus?
Az OOP nyelvekben a polimorfizmus alapvető fogalom. Megmutatja, hogy a különböző osztályok hogyan oszthatnak meg egy interfészt. Ezek az osztályok mind egyedi interfész-megvalósításra képesek.
11. Mi is pontosan az absztrakció?
Az absztrakció egy objektum-orientált programozási (OOP) koncepció, amelyet valós objektumok szerkezetének létrehozására használnak. Csak a legfontosabb tulajdonságokat „megjeleníti”, és „elrejti” a külvilágból származó idegen információkat. Az absztrakció alapvető célja, hogy megvédje az embereket a felesleges információktól.
12. Mi is pontosan a módszer túlterhelése?
Lehetséges, hogy két vagy több eljárásnak ugyanaz a neve. Mindazonáltal eltérő paraméterekkel, különböző számú paraméterrel, különböző fajtákkal vagy mindkettővel kell rendelkezniük. Ezeket túlterhelt metódusoknak, a funkciót pedig módszer túlterhelésnek nevezik.
13. Mi is pontosan a módszer felülbírálása?
Az objektum-orientált programozás magában foglalja a metódusok felülbírálásának gondolatát. Ez egy nyelvi szolgáltatás, amely lehetővé teszi, hogy egy alosztály vagy gyermekosztály testreszabott megvalósítását kínáljon egy olyan metódusnak, amelyet valamelyik szuperosztálya vagy szülőosztálya már biztosít.
14. Mi is pontosan a szuperosztály?
A szuperosztály, amelyet gyakran alaposztálynak is neveznek, olyan osztálytípus, amely egy másik osztály vagy osztályok szülőjeként működik. Az Autó osztálynak például van egy Jármű nevű alosztálya.
15. Mi is pontosan az alosztály?
Az alosztály egy másik osztály alosztálya. A furgon például egy Jármű alosztály vagy származtatott osztály.
16. Mi is pontosan a statikus polimorfizmus?
A fordítási időben a polimorfizmus egyfajta statikus polimorfizmusa (statikus kötés) megy végbe. A módszer túlterhelése a fordítási idejű polimorfizmus egy fajtája.
17. Mi is pontosan a dinamikus polimorfizmus?
Egyfajta polimorfizmust, amely futásidőben oldódik fel, futásidejű polimorfizmusnak nevezik, más néven dinamikus polimorfizmusnak (dinamikus kötés). A módszerek felülbírálása a futásidejű polimorfizmust szemlélteti.
18. Ismertesse a konstruktor fogalmát!
A konstruktor egy osztály speciális metódusa, amely automatikusan meghívódik az osztálypéldány létrehozásakor. Amikor hozzáfér az osztályhoz, az ugyanazzal a névvel készül, mint az osztály, és inicializálja az összes tagját. A konstruktor elsődleges jellemzői a következők:
A konstruktoroknak nincs visszatérési típusa.
A kivitelezők túlterhelése lehetséges.
Nem szükséges konstruktort megadni; a.NET-keretrendszer automatikusan megteszi.
19. Mik is pontosan a hozzáférés módosítók?
Az objektumorientált nyelvekben a kulcsszavak hozzáférés-módosítók vagy hozzáférés-specifikátorok. Segíti az osztályok, metódusok konfigurálását és más tagok hozzáférését.
20. Mi is pontosan a destruktor?
A destruktor egy módszer az objektumhoz rendelt erőforrások felszabadítására. Ha egy objektum megsemmisül, ez a metódus automatikusan meghívásra kerül.
21. Mi is pontosan a hibrid öröklődés?
A hibrid öröklődés egyfajta öröklődés, amelyet több öröklési forma, például egyszeres, többszörös és így tovább keverednek.
22. Mi is pontosan a hierarchikus öröklődés?
Hierarchikus öröklődés esetén több alosztály örököl egy szülőosztályból. Hierarchikus öröklődésnek nevezik azt az öröklési formát, amelyben számos osztály egyetlen szülő- vagy alaposztálytól származik. Például a gyümölcs osztály olyan alosztályokat tartalmazhat, mint az „alma”, „mangó”, „banán”, „cseresznye” stb.
23. Mik az öröklés hátrányai?
Meghosszabbítja és bonyolítja a végrehajtási folyamatot. Ez is szükségessé teszi a különböző osztályok közötti váltást. A szülő és gyermek osztály mindig elválaszthatatlanul összefügg.
A tanterv módosítása mind a szülő, mind a gyermek osztályának felülvizsgálatát tenné szükségessé. Az öröklést óvatosan kell végrehajtani, különben az eredmények rosszak lesznek.
24. Pontosan mi a kivétel?
Kivételt képeznek az olyan események, amelyek megzavarják a kód szokásos működését. A végrehajtás folytatásához ezeket a kivételeket kezelheti Java-ban. A Java-ban sokféle előre definiált kivétel létezik, és kivételkezelés biztosított a felvetett kivételek try-catch blokkokkal történő vezérlésére.
25. Mi is pontosan a kivételkezelés, és mik az előnyei?
A Java legfontosabb módszere a váratlan futásidejű hibák kezelésére a kivételkezelés. Lehetővé teszi a program végrehajtása során fellépő futásidejű hibák szabályozását.
A kivételkezelés előnyei közé tartozik, hogy a kivételek kezelése közben megőrizheti a szabályos programfolyamatot. Például, ha hiba történik a program egyik szakaszában, annak nincs hatása a program többi részére, ha a kivételt try-catch blokkokkal kezeljük.
26. Mik is pontosan a virtuális függvények?
A virtuális függvények szintén a szülőosztály függvényei közé tartoznak, és az alosztály felülírja őket. Ezek a rutinok segítik a futásidejű polimorfizmus elérését.
27. Mi is pontosan a barát függvény?
A barát funkció egy olyan funkció, amely egy osztályhoz tartozik, és hozzáféréssel rendelkezik annak nyilvános, privát vagy védett adataihoz. Ha a függvény az osztályon kívül van definiálva, akkor ezek az adatok nem kérhetők le. A privát, nyilvános és védett hozzáférés-szabályozási kulcsszavak nincsenek hatással a barát deklarációra, amely bárhol megadható az osztály deklarációjában.
28. Mi is pontosan a szemétgyűjtés?
A szemétgyűjtés (GC) a programozási nyelvek, például a C# és a Java eleme, amely memóriahelyreállító rendszerként szolgál. A szemétgyűjtő (GC) motor egy olyan programozási nyelv összetevője, amely lehetővé teszi az alkalmazás által már nem használt objektumok automatikus memóriafelszabadítását.
29. Mi is pontosan a csatolás?
Olyan helyzetekre utal, amikor a különböző osztályok egymásra támaszkodnak, és megosztják egymással tudásukat. Erős kapcsolat akkor jön létre, ha az egyik osztály részletes ismeretekkel rendelkezik egy másik osztályról. Hozzáférés-módosítók segítségével megadhatja az osztályok, metódusok vagy változók láthatóságát. Az interfészeket gyengébb csatolás biztosítására használják.
30. Mi is pontosan a kohézió?
Azt, ahogyan egy komponens egy bizonyos tevékenységet végrehajt, kohéziónak nevezzük. Egy erős, összefüggő megközelítés egyszerűen elvégzi a meghatározott feladatot, míg a gyenge, összefüggő módszer az egyetlen feladatot több kisebb feladatra osztja, majd befejezi azokat.
A Java.io csomag meglehetősen koherens, de a java.util csomag nem.
31. Ismertessen egy try/catch blokkot.
Ha egy program hibás kód vagy adat miatt hibát észlel, a „try” és a „catch” jelzi a kezelés módját. A try blokk a kód azon részének neve, amikor kivételek fordulnak elő. A catch blokk segítségével rögzíthetők és kezelhetők a try blokkok kivételei.
32. Írjon le egy utolsó blokkot!
A try kulcsszó működő kódrésze utolsóként jelenik meg. Kijelöli azt a kódot, amely mindig közvetlenül a próbaverzió után fut le, és az esetleges fogási blokkokat a módszer befejezése előtt. Az utolsó blokk mindig fut, függetlenül attól, hogy kivételt dobtak vagy elkaptak.
33. Mi is pontosan az interfész?
Az interfész absztrakt módszerek és egy felhasználó által meghatározott adattípus kombinációja. Az osztály egy interfészt valósít meg, örökli az interfész absztrakt függvényeit.
Az osztály egy objektum tulajdonságait és viselkedését képviseli, míg az interfész az osztály által megvalósított viselkedéseket tartalmazza. Az interfész a „mit”, míg az osztály „hogyan” közvetíti.
34. Mi is pontosan a kompozíció?
A kompozíció felhasználható kapcsolat elérésére. Erős tárgykapcsolatot mutat be a függő és független objektumok között, szemben az aggregációval. A függő objektum ebben az esetben nem létezik, és a szülőobjektum törlése esetén el lesz távolítva.
35. Mi is pontosan a konstruktor láncolás?
A konstruktorláncolás egy olyan technika, amely az aktuális objektumhivatkozáshoz kapcsolódóan egy másik konstruktort hív meg. Két lehetőség van:
- Az aktuális osztály konstruktorára a „this” kulcsszó használatával lehet hivatkozni.
- A „szuper” kulcsszó a konstruktor meghívására szolgál az alaposztályból.
Következtetés
Az objektum-orientált programozás szükségessé teszi a program felépítésének átgondolását és az idő előtti felkészülést. Annak vizsgálata, hogyan lehet a követelményeket alapvető, újrafelhasználható osztályokra osztani, amelyek segítségével dolgok példányait lehet létrehozni.
Összességében az OOP átvétele javítja a helyzetet adatszerkezetek és újrafelhasználhatóság, ami hosszú távon időt takarít meg. Lát Hashdork interjúsorozata segítségért az interjú előkészítéséhez.
Hagy egy Válaszol