Innholdsfortegnelse[Gjemme seg][Forestilling]
- 1. Hva er egentlig objektorientert programmering?
- 2. Hvorfor er OOPs nødvendig?
- 3. Hvilke fordeler gir OOPS-prinsippene?
- 4. Hva er pilarene i OOPs-konseptet?
- 5. Hva er egentlig en klasse?
- 6. Hva er egentlig en gjenstand?
- 7. Hva er OOPs begrensninger?
- 8. Hva er arv?
- 9. Hva er innkapsling egentlig?
- 10. Hva er polymorfisme?
- 11. Hva er egentlig abstraksjon?
- 12. Hva er egentlig metodeoverbelastning?
- 13. Hva er egentlig metodeoverstyring?
- 14. Hva er egentlig en superklasse?
- 15. Hva er egentlig en underklasse?
- 16. Hva er egentlig statisk polymorfisme?
- 17. Hva er egentlig dynamisk polymorfisme?
- 18. Beskriv forestillingen om en konstruktør.
- 19. Hva er egentlig tilgangsmodifikatorene?
- 20. Hva er egentlig en destruktor?
- 21. Hva er egentlig hybridarv?
- 22. Hva er egentlig hierarkisk arv?
- 23. Hva er ulempene med arv?
- 24. Hva er egentlig et unntak?
- 25. Hva er egentlig unntakshåndtering, og hva er fordelene med det?
- 26. Hva er egentlig virtuelle funksjoner?
- 27. Hva er egentlig vennefunksjonen?
- 28. Hva er egentlig Garbage Collection?
- 29. Hva er kobling?
- 30. Hva er samhørighet?
- 31. Beskriv en try/catch-blokk.
- 32. Beskriv en siste blokk.
- 33. Hva er egentlig et grensesnitt?
- 34. Hva er egentlig komposisjon?
- 35. Hva er egentlig konstruktørkjeding?
- konklusjonen
Et av de mest innflytelsesrike programmeringsparadigmene kalles OOPs, eller objektorientert programmering. I stedet for funksjoner og prosesser legger den vekt på klasser og objekter.
Hovedmålet er å koble sammen data og ting slik at det er enklere å jobbe med dem. Hvert objekt i OOPs er bygd opp av kode i form av prosedyrer eller metoder og data i form av felt.
Språk som C++, Objective C, Python, Perl og Java er noen av de mest populære objektorienterte programmerings språk.
Det er viktig å forstå mer om dette siden opps intervjuspørsmål er ekstremt typiske. De fleste firmaer ser etter ingeniører som er kjent med objektorienterte metoder og mønstre. Så hvis du har tenkt å delta på et intervju, må du være godt kjent med OOP-ideer.
Ulike objektorienterte programmeringsintervjuspørsmål fra nybegynner- til ekspertnivå vil bli vist i dette innlegget. Du kan derfor bestå et hvilket som helst intervjunivå og sikre deg drømmestillingen.
1. Hva er egentlig objektorientert programmering?
Programmering som er objektorientert (OOPs) er basert på faktiske objekter i stedet for bare funksjoner og prosesser. Klasser opprettes for individuelle produkter.
Arv, polymorfisme og skjule er eksempler på virkelige konsepter som OOP-er inkorporerer i programmering. Det gjør det også mulig å koble til data og kode.
2. Hvorfor er OOPs nødvendig?
Det er flere grunner til at OOP er å foretrekke, men følgende er de viktigste:
- OOPs, lar folk lett forstå programvare selv om de ikke er kjent med implementeringen.
- Beklager, forbedre kodens lesbarhet, forståelighet og vedlikehold med en faktor ti.
- Ved å bruke OOP-er kan selv ekstremt store applikasjoner enkelt bygges og kontrolleres.
3. Hvilke fordeler gir OOPS-prinsippene?
- OOPS, programmeringsobjekter simulerer virkelige objekter, reduserer kompleksiteten og forbedrer programmets klarhet.
- Objekter kan brukes gjentatte ganger i mange programmer.
- Hvert objekt skaper en distinkt enhet hvis interne operasjoner er uavhengige av andre systemkomponenter.
- Ved å introdusere noen få nye objekter og oppdatere noen få allerede eksisterende, er det mulig å legge til ny funksjonalitet eller tilpasse seg endrede driftsforhold.
- Et OOPs-programs prosesser eller datarepresentasjon kan enkelt gjennomgå små justeringer.
4. Hva er pilarene i OOPs-konseptet?
Følgende er hovedpilarene i OOP:
Arv: Den gjør det mulig for klasser å arve attributtene til en annen klasse.
innkapsling: Dette er definert som en objektegenskap som skjuler kritisk informasjon. Dette holder dataene skjult for klassemedlemmer. Spesifikatorene beskriver hvordan objektets attributt aksesseres i kode.
polymorfisme: Dette lar deg utføre en enkelt aktivitet på flere måter. Det oppnås gjennom grensesnitt, der vi erklærer ett grensesnitt som senere implementeres flere ganger.
Abstraksjon: Du kan bruke denne funksjonen til å skjule kritisk informasjon fra omverdenen og presentere kun de essensielle fakta.
5. Hva er egentlig en klasse?
En klasse er en prototype som består av objekter i forskjellige tilstander og med varierende atferd. Den har en rekke metoder som deles av objektene i den klassen.
6. Hva er egentlig en gjenstand?
Et objekt er en virkelighet som fungerer som den grunnleggende enheten i OOP-er, for eksempel en stol, katt eller hund. Ulike objekter har forskjellige tilstander, egenskaper og handlinger.
7. Hva er OOPs begrensninger?
- Størrelsen er større enn for andre applikasjoner.
- Det krever litt tilvenning.
- Visse typer problemer krever det ikke.
- Det var arbeidskrevende å lage, og sammenlignet med andre applikasjoner fungerer det saktere.
8. Hva er arv?
En forestilling kalt arv refererer til deling av en klasses etablerte struktur og oppførsel med en annen klasse. Når arv brukes på en enkelt klasse, blir det referert til som enkeltarv; når det avhenger av mange klasser, blir det referert til som multiple arv.
9. Hva er innkapsling egentlig?
Ideen med OOP inkluderer også innkapsling. Den beskriver blandingen av data og datamanipulasjonsteknikker. I tillegg hjelper det med å forhindre direkte tilgang til enkelte deler av et objekt.
10. Hva er polymorfisme?
I OOP-språk er polymorfisme et grunnleggende konsept. Den viser hvordan ulike klasser kan dele et grensesnitt. Disse klassene er alle i stand til å ha unike grensesnittimplementeringer.
11. Hva er egentlig abstraksjon?
Abstraksjon er objektorientert programmering (OOPs) konsept som brukes til å lage strukturen til virkelige objekter. Den "viser" bare de viktigste egenskapene og "skjuler" fremmedinformasjon fra den ytre verden. Det grunnleggende målet med abstraksjon er å skjerme mennesker fra unødvendig informasjon.
12. Hva er egentlig metodeoverbelastning?
Det er mulig for to eller flere prosedyrer å ha samme navn. De bør imidlertid ha distinkte parametere, forskjellig antall parametere, distinkte typer eller begge deler. Disse er kjent som overbelastede metoder, og funksjonen er kjent som metodeoverbelastning.
13. Hva er egentlig metodeoverstyring?
Objektorientert programmering inkluderer ideen om metodeoverstyring. Det er en språkfunksjon som lar en underklasse eller barneklasse tilby en tilpasset implementering av en metode som en av superklassene eller foreldreklassene allerede tilbyr.
14. Hva er egentlig en superklasse?
En superklasse, ofte kjent som en basisklasse, er en type klasse som fungerer som foreldre til en annen klasse eller klasser. Bilklassen har for eksempel en underklasse kalt Vehicle.
15. Hva er egentlig en underklasse?
En underklasse er en underklasse av en annen klasse. En varebil, for eksempel, er en underklasse for kjøretøy eller avledet klasse.
16. Hva er egentlig statisk polymorfisme?
På kompileringstidspunktet finner en type polymorfisme kjent som statisk polymorfisme (statisk binding) sted. Metodeoverbelastning er en type kompileringstidspolymorfisme.
17. Hva er egentlig dynamisk polymorfisme?
En slags polymorfisme som løses i løpet av kjøretiden kalles runtime polymorfisme, også kjent som dynamisk polymorfisme (dynamisk binding). Overstyringen av metoder er en illustrasjon av runtime polymorfisme.
18. Beskriv forestillingen om en konstruktør.
En konstruktør er en spesifikk metode for en klasse som automatisk kalles når en klasseforekomst opprettes. Når du får tilgang til klassen, er den konstruert med samme navn som klassen og initialiserer alle medlemmene. En konstruktørs primære egenskaper er som følger:
Det er ingen returtype for konstruktører.
Overbelastning av konstruktører er mulig.
Det er ikke nødvendig å spesifisere en konstruktør; the.NET Framework vil gjøre det automatisk.
19. Hva er egentlig tilgangsmodifikatorene?
I objektorienterte språk er nøkkelord tilgangsmodifikatorer eller tilgangspesifiserere. Det hjelper med konfigurasjonen av klasser, metoder og andre medlemmers tilgjengelighet.
20. Hva er egentlig en destruktor?
En destruktor er en metode for å frigjøre ressursene som er tilordnet et objekt. Når et objekt blir ødelagt, kalles denne metoden automatisk.
21. Hva er egentlig hybridarv?
Hybrid arv er en slags arv generert ved blanding av flere former for arv som enkelt, multiple, og så videre.
22. Hva er egentlig hierarkisk arv?
Flere underklasser arver fra en overordnet klasse i situasjonen med hierarkisk arv. En slags arv hvor mange klasser stammer fra en enkelt forelder eller basisklasse er kjent som hierarkisk arv. For eksempel kan fruktklassen inneholde underklasser som 'eple, 'mango', 'banan', 'kirsebær' og så videre.
23. Hva er ulempene med arv?
Det forlenger og kompliserer utførelsesprosessen. Det krever også bytte mellom ulike klasser. Foreldre- og barneklassene er alltid uløselig knyttet sammen.
Endringer i læreplanen vil nødvendiggjøre revisjoner for både forelderen og barnets klasse. Arv må implementeres nøye ellers blir resultatene feil.
24. Hva er egentlig et unntak?
Et unntak er en hendelse som forstyrrer den vanlige driften av koden. For å fortsette kjøringen kan du håndtere disse unntakene i Java. I Java er det mange slags forhåndsdefinerte unntak, og unntakshåndtering er gitt for å kontrollere de opphevede unntakene ved å bruke try-catch-blokker.
25. Hva er egentlig unntakshåndtering, og hva er fordelene med det?
Den viktigste metoden i Java for å håndtere uventede kjøretidsfeil er unntakshåndtering. Den lar deg kontrollere kjøretidsfeil som oppstår under programkjøring.
Fordelene med unntakshåndtering inkluderer muligheten til å beholde regelmessig programflyt mens du administrerer unntak. For eksempel, hvis det oppstår en feil i en del av programmet, vil det ikke ha noen effekt på resten av programmet hvis vi håndterer unntaket med try-catch-blokker.
26. Hva er egentlig virtuelle funksjoner?
Virtuelle funksjoner er også inkludert i den overordnede klassens funksjoner og overstyres av underklassen. Disse rutinene hjelper til med å oppnå runtime polymorfisme.
27. Hva er egentlig vennefunksjonen?
En vennefunksjon er en funksjon som tilhører en klasse og har tilgang til dens offentlige, private eller beskyttede data. Hvis funksjonen er definert utenfor klassen, er det ikke mulig å hente disse dataene. Nøkkelordene for tilgangskontroll privat, offentlig og beskyttet har ingen betydning for en venneerklæring, som kan gjøres hvor som helst i klasseerklæringen.
28. Hva er egentlig Garbage Collection?
Søppelinnsamling (GC) er et element i programmeringsspråk som C# og Java som fungerer som et minnegjenopprettingssystem. En søppelinnsamlingsmotor (GC) er en komponent i et programmeringsspråk som tillater automatisk frigjøring av minneplass for objekter applikasjonen ikke lenger bruker.
29. Hva er kobling?
Det refererer til situasjoner der ulike klasser stoler på hverandre og deler kunnskap. En sterk sammenheng oppstår når en klasse har detaljert kunnskap om en annen klasse. Du kan spesifisere synligheten til klasser, metoder eller variabler ved å bruke tilgangsmodifikatorer. Grensesnitt brukes for å gi svakere kobling.
30. Hva er samhørighet?
Måten en komponent utfører en bestemt aktivitet på, blir referert til som dens kohesjon. En sterk, sammenhengende tilnærming vil ganske enkelt gjøre den definerte oppgaven, mens en svak, sammenhengende metode vil dele opp enkeltoppgaven i flere mindre oppgaver og deretter fullføre dem.
Java.io-pakken er ganske sammenhengende, men java.util-pakken er det ikke.
31. Beskriv en try/catch-blokk.
Når et program støter på en feil på grunn av feil kode eller data, indikerer "try" og "catch" hvordan den skal håndteres. En prøveblokk er navnet på den delen av koden når unntak oppstår. En catch-blokk brukes til å fange opp og håndtere unntak fra prøveblokker.
32. Beskriv en siste blokk.
Prøv-søkeordets arbeidsdel av koden er angitt sist. Den angir koden som alltid kjøres umiddelbart etter prøveversjonen og eventuelle fangstblokker før metoden er fullført. Den siste blokken kjøres alltid enten et unntak blir kastet eller fanget.
33. Hva er egentlig et grensesnitt?
Et grensesnitt er en kombinasjon av abstrakte metoder og en brukerdefinert datatype. En klasse implementerer et grensesnitt, og arver grensesnittets abstrakte funksjoner.
En klasse representerer egenskapene og virkemåten til et objekt, mens et grensesnitt inkluderer atferden som en klasse implementerer. Grensesnittet representerer "hva", mens klassen formidler "hvordan."
34. Hva er egentlig komposisjon?
Sammensetningen kan brukes for å oppnå en forbindelse. Den viser en sterk objektkobling mellom de avhengige og uavhengige objektene, i motsetning til aggregering. Det avhengige objektet eksisterer ikke i denne omstendigheten og vil bli fjernet hvis det overordnede objektet slettes.
35. Hva er egentlig konstruktørkjeding?
Konstruktørkjeding er en teknikk for å kalle en konstruktør fra en annen i forhold til gjeldende objektreferanse. Det er to alternativer:
- Konstruktøren i gjeldende klasse kan refereres ved å bruke "this" nøkkelordet.
- Nøkkelordet "super" vil bli brukt til å starte konstruktøren fra basisklassen.
konklusjonen
Objektorientert programmering gjør det nødvendig å tenke på strukturen til programmet og forberede seg på forhånd. Undersøker hvordan man deler kravene inn i grunnleggende, gjenbrukbare klasser som kan brukes til å lage forekomster av ting.
Totalt sett gir det å omfavne OOP forbedret datastrukturer og gjenbruk, som sparer tid i det lange løp. Se Hashdorks intervjuserie for hjelp til intervjuforberedelse.
Legg igjen en kommentar