Innehållsförteckning[Dölj][Visa]
- 1. Vad är egentligen objektorienterad programmering?
- 2. Varför är OOPs nödvändiga?
- 3. Vilka fördelar erbjuder OOPS-principerna?
- 4. Vilka är pelarna i OOPs koncept?
- 5. Vad är egentligen en klass?
- 6. Vad är egentligen ett föremål?
- 7. Vilka är OOPs begränsningar?
- 8. Vad är arv?
- 9. Vad är inkapsling egentligen?
- 10. Vad är polymorfism?
- 11. Vad är abstraktion exakt?
- 12. Vad är metodöverbelastning egentligen?
- 13. Vad exakt är metod åsidosättande?
- 14. Vad är egentligen en superklass?
- 15. Vad exakt är en underklass?
- 16. Vad exakt är statisk polymorfism?
- 17. Vad exakt är dynamisk polymorfism?
- 18. Beskriv begreppet en konstruktör.
- 19. Vilka exakt är åtkomstmodifierarna?
- 20. Vad är egentligen en förstörare?
- 21. Vad är hybridarv egentligen?
- 22. Vad är hierarkiskt arv exakt?
- 23. Vilka är nackdelarna med arv?
- 24. Vad är egentligen ett undantag?
- 25. Vad exakt är undantagshantering och vilka är fördelarna med det?
- 26. Vad är virtuella funktioner egentligen?
- 27. Vad är vänfunktionen egentligen?
- 28. Vad är Garbage Collection egentligen?
- 29. Vad är koppling exakt?
- 30. Vad är sammanhållning exakt?
- 31. Beskriv ett försök/fånga block.
- 32. Beskriv ett sista block.
- 33. Vad är egentligen ett gränssnitt?
- 34. Vad är komposition egentligen?
- 35. Vad exakt är konstruktörskedja?
- Slutsats
Ett av de mest inflytelserika programmeringsparadigmen kallas OOPs, eller objektorienterad programmering. Istället för funktioner och processer betonar den klasser och objekt.
Dess huvudsakliga mål är att koppla ihop data och saker så att det är enklare att arbeta med dem. Varje objekt i OOPs är uppbyggt av kod i form av procedurer eller metoder och data i form av fält.
Språk som C++, Objective C, Python, Perl och Java är några av de mest populära objektorienterade programmeringsspråk.
Det är viktigt att förstå mer om detta eftersom oops intervjufrågor är extremt typiska. De flesta företag söker ingenjörer som är bekanta med objektorienterade metoder och mönster. Så om du tänker delta i en intervju måste du vara väl insatt i OOP-idéer.
Olika objektorienterade programmeringsintervjufrågor från nybörjar- till expertnivå kommer att visas i det här inlägget. Du kan därför klara alla intervjunivåer och säkra din drömposition.
1. Vad är egentligen objektorienterad programmering?
Programmering som är objektorienterad (OOP) baseras på faktiska objekt snarare än bara funktioner och processer. Klasser skapas för enskilda produkter.
Arv, polymorfism och döljande är exempel på verkliga koncept som OOPs införlivar i programmering. Det gör det också möjligt att koppla data och kod.
2. Varför är OOPs nödvändiga?
Det finns flera anledningar till varför OOPs är att föredra, men följande är de viktigaste:
- OOPs, gör det möjligt för människor att enkelt förstå programvara även om de inte är bekanta med implementeringen.
- Hoppsan, förbättra kodläsbarheten, förståelsen och underhållbarheten med en faktor tio.
- Med hjälp av OOPs kan även extremt stora applikationer enkelt byggas och styras.
3. Vilka fördelar erbjuder OOPS-principerna?
- OOPS, programmeringsobjekt simulerar verkliga objekt, vilket minskar komplexiteten och förbättrar programmets tydlighet.
- Objekt kan användas upprepade gånger i många program.
- Varje objekt skapar en distinkt enhet vars interna verksamhet är oberoende av andra systemkomponenter.
- Genom att introducera några nya objekt och uppdatera ett fåtal redan befintliga, är det möjligt att lägga till ny funktionalitet eller anpassa sig till förändrade driftsförhållanden.
- Ett OOPs-programs processer eller datarepresentation kan lätt genomgå små justeringar.
4. Vilka är pelarna i OOPs koncept?
Följande är huvudpelarna i OOP:
Arv: Det gör det möjligt för klasser att ärva attributen från en annan klass.
inkapsling: Detta definieras som en objektegenskap som döljer kritisk information. Detta håller data dold för klassmedlemmar. Specifierarna beskriver hur objektets attribut nås i kod.
polymorfism: Detta gör att du kan utföra en enskild aktivitet på flera sätt. Det åstadkoms genom gränssnitt, där vi deklarerar ett gränssnitt som sedan implementeras flera gånger.
Abstraktion: Du kan använda den här funktionen för att dölja viktig information från omvärlden och bara presentera de väsentliga fakta.
5. Vad är egentligen en klass?
En klass är en prototyp som består av objekt i olika tillstånd och med olika beteenden. Den har ett antal metoder som delas av objekten i den klassen.
6. Vad är egentligen ett föremål?
Ett objekt är en verklig enhet som fungerar som den grundläggande enheten för OOPs, till exempel en stol, katt eller hund. Olika objekt har olika tillstånd, egenskaper och handlingar.
7. Vilka är OOPs begränsningar?
- Storleken är större än för andra applikationer.
- Det kräver en del att vänja sig vid.
- Vissa typer av problem kräver inte det.
- Det var arbetskrävande att skapa, och jämfört med andra applikationer fungerar det långsammare.
8. Vad är arv?
Ett begrepp som kallas arv hänvisar till att en annan klass delar med sig av en klasss etablerade struktur och beteende. När arv tillämpas på en enda klass kallas det för enstaka arv; när det beror på många klasser, kallas det flera arv.
9. Vad är inkapsling egentligen?
Idén med OOPs inkluderar också inkapsling. Den beskriver blandningen av data och datamanipuleringstekniker. Dessutom hjälper det till att förhindra direkt åtkomst till vissa delar av ett objekt.
10. Vad är polymorfism?
I OOP-språk är polymorfism ett grundläggande begrepp. Den visar hur olika klasser kan dela ett gränssnitt. Dessa klasser kan alla ha unika gränssnittsimplementeringar.
11. Vad är abstraktion exakt?
Abstraktion är objektorienterad programmering (OOPs) koncept som används för att skapa strukturen av verkliga objekt. Den "visar" bara de viktigaste egenskaperna och "döljer" främmande information från den yttre världen. Det grundläggande målet med abstraktion är att skydda människor från onödig information.
12. Vad är metodöverbelastning egentligen?
Det är möjligt för två eller flera procedurer att ha samma namn. De bör dock ha distinkta parametrar, olika antal parametrar, distinkta typer eller båda. Dessa är kända som överbelastade metoder, och funktionen är känd som metodöverbelastning.
13. Vad exakt är metod åsidosättande?
Objektorienterad programmering inkluderar idén om metodöverstyrning. Det är en språkfunktion som låter en underklass eller barnklass erbjuda en anpassad implementering av en metod som en av dess superklasser eller överordnade klasser redan tillhandahåller.
14. Vad är egentligen en superklass?
En superklass, ofta känd som en basklass, är en typ av klass som fungerar som förälder till en annan klass eller klasser. Bilklassen har till exempel en underklass som heter Vehicle.
15. Vad exakt är en underklass?
En underklass är en underklass till en annan klass. En skåpbil, till exempel, är en fordonsunderklass eller härledd klass.
16. Vad exakt är statisk polymorfism?
Vid kompilering sker en typ av polymorfism som kallas statisk polymorfism (statisk bindning). Metodöverbelastning är en typ av kompileringstidspolymorfism.
17. Vad exakt är dynamisk polymorfism?
En sorts polymorfism som löses under körning kallas runtime polymorfism, även känd som dynamisk polymorfism (dynamisk bindning). Åsidosättandet av metoder är en illustration av runtime polymorfism.
18. Beskriv begreppet en konstruktör.
En konstruktor är en specifik metod för en klass som automatiskt anropas när en klassinstans skapas. När du kommer åt klassen är den konstruerad med samma namn som klassen och initierar alla dess medlemmar. En konstruktörs primära egenskaper är följande:
Det finns ingen returtyp för konstruktörer.
Överbelastning av konstruktörer är möjlig.
Det är inte nödvändigt att ange en konstruktor; the.NET Framework kommer att göra det automatiskt.
19. Vilka exakt är åtkomstmodifierarna?
I objektorienterade språk är nyckelord åtkomstmodifierare eller åtkomstspecificerare. Det hjälper till med konfigurationen av klasser, metoder och andra medlemmars tillgänglighet.
20. Vad är egentligen en förstörare?
En destruktor är en metod för att frigöra resurserna som tilldelats ett objekt. När ett objekt förstörs anropas denna metod automatiskt.
21. Vad är hybridarv egentligen?
Hybrid arv är ett slags arv som genereras genom blandning av flera former av arv som enstaka, multipla och så vidare.
22. Vad är hierarkiskt arv exakt?
Flera underklasser ärver från en överordnad klass i situationen med hierarkiskt arv. Ett slags arv där många klasser härstammar från en ensam förälder eller basklass kallas hierarkiskt arv. Till exempel kan fruktklassen innehålla underklasser som 'äpple, 'mango', 'banan', 'körsbär' och så vidare.
23. Vilka är nackdelarna med arv?
Det förlänger och komplicerar exekveringsprocessen. Det kräver också att man byter mellan olika klasser. Förälder- och barnklasserna är alltid oupplösligt sammanlänkade.
Ändringar av läroplanen skulle kräva revideringar för både föräldern och barnets klass. Arv måste implementeras noggrant annars blir resultatet fel.
24. Vad är egentligen ett undantag?
Ett undantag är en incident som stör den vanliga driften av koden. För att fortsätta körningen kan du hantera dessa undantag i Java. I Java finns det många sorters fördefinierade undantag, och undantagshantering tillhandahålls för att kontrollera de upphöjda undantagen med hjälp av försöksfångstblock.
25. Vad exakt är undantagshantering och vilka är fördelarna med det?
Den viktigaste metoden i Java för att hantera oväntade körtidsfel är undantagshantering. Det låter dig kontrollera runtime-fel som uppstår under programkörning.
Fördelarna med undantagshantering inkluderar möjligheten att behålla regelbundet programflöde samtidigt som undantag hanteras. Till exempel, om ett fel inträffar i en del av programmet, kommer det inte att ha någon effekt på resten av programmet om vi hanterar undantaget med try-catch-block.
26. Vad är virtuella funktioner egentligen?
Virtuella funktioner ingår också i den överordnade klassens funktioner och åsidosätts av underklassen. Dessa rutiner hjälper till att uppnå körtidspolymorfism.
27. Vad är vänfunktionen egentligen?
En vänfunktion är en funktion som tillhör en klass och har tillåten åtkomst till dess offentliga, privata eller skyddade data. Om funktionen är definierad utanför klassen är det inte möjligt att hämta dessa data. Nyckelorden för åtkomstkontroll privat, offentlig och skyddad har ingen betydelse för en vändeklaration, som kan göras var som helst i klassdeklarationen.
28. Vad är Garbage Collection egentligen?
Garbage Collection (GC) är en del av programmeringsspråk som C# och Java som fungerar som ett minnesåterställningssystem. En sopsamlingsmotor (GC) är en komponent i ett programmeringsspråk som möjliggör automatisk frigöring av minnesutrymme för objekt som programmet inte längre använder.
29. Vad är koppling exakt?
Det hänvisar till situationer där olika klasser förlitar sig på varandra och delar kunskap. En stark koppling uppstår när en klass har detaljerad kunskap om en annan klass. Du kan ange synligheten för klasser, metoder eller variabler med hjälp av åtkomstmodifierare. Gränssnitt används för att ge svagare koppling.
30. Vad är sammanhållning exakt?
Det sätt på vilket en komponent utför en viss aktivitet kallas dess sammanhållning. Ett starkt, sammanhållet tillvägagångssätt kommer helt enkelt att göra den definierade uppgiften, medan en svag, sammanhållen metod skulle dela upp den enstaka uppgiften i flera mindre uppgifter och sedan slutföra dem.
Java.io-paketet är ganska sammanhängande, men java.util-paketet är det inte.
31. Beskriv ett försök/fånga block.
När ett program stöter på ett fel på grund av felaktig kod eller data, anger "försök" och "fånga" hur det ska hanteras. Ett försöksblock är namnet på den del av koden när undantag inträffar. Ett fångstblock används för att fånga och hantera undantag från försöksblock.
32. Beskriv ett sista block.
Testa nyckelordets arbetsdel av koden anges sist. Den anger koden som alltid körs omedelbart efter försöket och eventuella fångstblock innan metoden är klar. Det sista blocket körs alltid oavsett om ett undantag kastas eller fångas.
33. Vad är egentligen ett gränssnitt?
Ett gränssnitt är en kombination av abstrakta metoder och en användardefinierad datatyp. En klass implementerar ett gränssnitt och ärver gränssnittets abstrakta funktioner.
En klass representerar egenskaperna och beteenden för ett objekt, medan ett gränssnitt inkluderar de beteenden som en klass implementerar. Gränssnittet representerar "vad", medan klassen förmedlar "hur."
34. Vad är komposition egentligen?
Kompositionen kan användas för att uppnå en koppling. Den visar en stark objektlänk mellan de beroende och oberoende objekten, i motsats till aggregering. Det beroende objektet existerar inte i denna omständighet och kommer att tas bort om det överordnade objektet raderas.
35. Vad exakt är konstruktörskedja?
Konstruktörskedja är en teknik för att anropa en konstruktör från en annan i förhållande till den aktuella objektreferensen. Det finns två alternativ:
- Konstruktorn i den aktuella klassen kan refereras med nyckelordet "detta".
- Nyckelordet "super" kommer att användas för att anropa konstruktorn från basklassen.
Slutsats
Objektorienterad programmering kräver att man tänker på programmets struktur och förbereder sig i förväg. Undersöker hur man delar upp kraven i grundläggande, återanvändbara klasser som kan användas för att skapa instanser av saker.
Sammantaget ger omfamning av OOP förbättrad data struktur och återanvändbarhet, vilket sparar tid i längden. Ser Hashdorks intervjuserie för hjälp med intervjuförberedelser.
Kommentera uppropet