objektorientert programmering pensum

Denne begrepslisten dekker viktige konsepter innen objektorientert programmering, inkludert nøkkelbegreper og praksiser som brukes i utvikling av programvare.

Thea49·80 flashkort·80 spørsmål
universitetcomputer_scienceprogramming
0
Kjent
1 / 80
0
Lærer
Forside

Hva er objektorientert programmering?

Trykk for å vende
Bakside

En programmeringsparadigme som bruker objekter for å representere data og metoder.

Trykk for å vende
Skjønner
Lærer fortsatt

Quiz(80 spørsmål)

Spørsmål 1 av 80

1. Hva er hovedformålet med en klasse i objektorientert programmering?

Begreper i dette studiesettet(80)

Grunnleggende konsepter(20)

Hva er objektorientert programmering?

En programmeringsparadigme som bruker objekter for å representere data og metoder.

Definer et objekt.

En instans av en klasse som har tilstand og atferd. Eksempel: En bil er et objekt med farge og hastighet.

Hva er en klasse?

En mal for å lage objekter. Den definerer egenskaper og metoder for objektene.

Sann eller usann: Alle objekter er klasser.

Usann. Klasser er maler, mens objekter er instanser av disse malene.

Fyll inn det tomme: Klasser inneholder ______ og ______.

Egenskaper og metoder.

Hva er en metode?

En funksjon definert i en klasse som beskriver atferden til objektene.

Sammenlign objekter og klasser.

Objekter er instanser; klasser er maler. Objekter har tilstand, klasser har definisjon.

Hva er innkapsling?

En teknikk for å skjule interne tilstander og beskytte data ved å bruke tilgangsmodifikatorer.

Definer arv.

En mekanisme der en klasse kan arve egenskaper og metoder fra en annen klasse.

Hva er polymorfisme?

Evnen til å bruke metoder med samme navn, men med ulik implementasjon, på forskjellige objekter.

Hva er en konstruktør?

En spesiell metode som brukes til å initialisere objekter når de opprettes.

Sann eller usann: Alle metoder kan være statiske.

Usann. Statiske metoder tilhører klassen, mens instansmetoder tilhører objektene.

Hva er et grensesnitt?

En samling av metoder som en klasse må implementere, uten å definere hvordan de skal utføres.

Hva er en abstrakt klasse?

En klasse som ikke kan instansieres, men kan brukes som base for andre klasser.

Definer et attributt.

En variabel som hører til et objekt, og beskriver dets egenskaper, som for eksempel farge.

Sammenlign statiske og instansmetoder.

Statiske metoder tilhører klassen; instansmetoder tilhører objektene og kan bruke instansdata.

Hva er komposisjon?

En teknikk der en klasse inneholder objekter av andre klasser som en del av sin tilstand.

Fyll inn det tomme: ______ er en type oppførsel som kan variere avhengig av objektet.

Polymorfisme.

Hva er en metodeoverlasting?

Å ha flere metoder med samme navn, men med forskjellig signatur (parameterlister).

Sann eller usann: Innkapsling forbedrer sikkerhet.

Sann. Innkapsling skjuler data, noe som reduserer risikoen for utilsiktet endring.

Klasser og objekter(20)

Hva er en klasse?

En klasse er en mal for å opprette objekter. Den definerer egenskaper (attributter) og metoder (funksjoner) for objektene.

Hva er et objekt?

Et objekt er en instans av en klasse. Det har spesifikke verdier for klassens attributter og kan bruke klassens metoder.

Sammenlign klasse og objekt.

Klasse: mal; Objekt: instans. Klassen definerer struktur, objektet representerer en konkret forekomst.

Fyll inn: En klasse kan ha _____.

attributter og metoder.

Er objekter mutable?

Ja, objekter kan endre tilstanden sin ved å oppdatere attributtene.

Eksempel på klasse i Python.

class Bil: def __init__(self, farge): self.farge = farge

Hvordan oppretter man et objekt?

Ved å bruke klassens konstruktør: bil1 = Bil('rød').

Hva er en konstruktør?

En konstruktør er en spesialmetode som brukes til å initialisere et nytt objekt. Den kalles automatisk ved opprettelse.

Hva gjør metoder?

Metoder utfører handlinger relatert til objektet, og kan manipulere attributtene.

Sann eller usann: En klasse kan ikke ha flere objekter.

Usann. En klasse kan ha mange objekter som er instanser av den.

Hva er datatyper i klasser?

Datatyper brukes til å definere attributter. Eksempler: int, str, float.

Hva er innkapsling?

Innkapsling er prinsippet om å skjule interne detaljer og bare eksponere nødvendige metoder og attributter.

Eksempel på tilgang til attributt.

bil1.farge gir deg fargen til objektet bil1.

Hvordan kan metoder endre tilstand?

Metoder kan sette nye verdier til attributter: self.farge = 'blå'.

Sammenlign privat og offentlig tilgang.

Privat: ikke tilgjengelig utenfor klassen. Offentlig: tilgjengelig for alle.

Hva er statiske metoder?

Statiske metoder tilhører klassen, ikke objektene. De kan kalles uten å opprette et objekt.

Eksempel på statisk metode.

class Matematikk: @staticmethod def legg_til(a, b): return a + b

Hva er klassevariabler?

Klassevariabler er delt av alle objekter i klassen. De er definert med klassens navn.

Hvordan kan objekter samarbeide?

Objekter kan kommunisere via metoder, og dele data ved hjelp av attributter.

Eksempel på objektinteraksjon.

bil1.kjør() kan kalle en metode fra bil1 for å endre tilstanden.

Arv og polymorfisme(20)

Arv

Arv er et prinsipp der en klasse (underklasse) kan arve egenskaper og metoder fra en annen klasse (overklasse).

Polymorfisme

Polymorfisme lar objekter av forskjellige klasser behandles som objekter av en felles superklasse. Det tillater metoder å bli brukt på ulike typer objekter.

Fordel med arv

Gjenbruk av kode - reduserer duplisering og forbedrer vedlikeholdbarhet.

Eksempel på arv

En klasse 'Fugl' kan være overklassen, mens 'Papegøye' og 'Falk' er underklasser som arver fra 'Fugl'.

Sant eller usant: Arv kan være en kilde til kompleksitet.

Sant. For mye arv kan føre til vanskelig forståelige hierarkier og avhengigheter.

Abstrakt klasse

En abstrakt klasse kan ikke instansieres. Den brukes som en base for andre klasser og kan inneholde både abstrakte og konkrete metoder.

Finn ut: Hva skjer ved polymorfisme?

Metoder kan brukes på objekter av forskjellige klasser, basert på deres felles superklasse.

Overstyring

Overstyring tillater en underklasse å gi en spesifikk implementering av en metode som allerede er definert i superklassen.

Hva er en interface?

En interface er en kontrakt som definerer metoder som må implementeres av en klasse, men inneholder ingen logikk.

Finn ut: Hva er en virtuell metode?

En virtuell metode er en metode i en superklasse som kan overstyres i en underklasse.

Eksempel på polymorfisme

En metode 'lagLyd' kan kalles på både 'Hund' og 'Katt' objekter, og gi forskjellige resultater avhengig av objektet.

Kommposisjon vs. arv

Komposisjon er å bygge komplekse objekter ved å kombinere enkle objekter, mens arv skaper et hierarki av klasser.

Hva skjer når en klasse arver flere klasser?

Det kan føre til 'diamantproblemet', hvor en klasse arver fra to klasser som har en felles superklasse.

Hvordan kan polymorfisme implementeres?

Ved å bruke abstrakte klasser eller grensesnitt i programmeringsspråket.

Forholdet mellom arv og polymorfisme

Arv gir strukturen, mens polymorfisme gir fleksibiliteten til å bruke objekter i forskjellige kontekster.

Eksempel på overstyring

I klassen 'Dyr', kan metoden 'snakk()' overstyres av 'Hund' som returnerer 'voff' og 'Katt' som returnerer 'mjau'.

Sant eller usant: Polymorfisme er kun for metoder.

Usant. Polymorfisme kan også gjelde for egenskaper, men det er mest relevant for metoder.

Dynamisk type

Dynamisk type bestemmes ved kjøretid, noe som er typisk for polymorfe metoder.

Statiske vs. dynamiske metoder

Statiske metoder er knyttet til klassen, mens dynamiske metoder er knyttet til objekter av klassen.

Hva er konsekvensene av polymorfisme?

- Forbedret kodegjenbruk - Redusert kompleksitet - Økt fleksibilitet i programdesign Polymorfisme gjør det mulig å bruke samme metode på objekter av forskjellige klasser, noe som fører til enklere og mer vedlikeholdbar kode.

Designmønstre(20)

Singleton-mønster

Sikrer at en klasse bare har én instans. Brukes når du trenger kontrollert tilgang til ressurser, f.eks. konfigurasjoner.

Fabrikkmetode

En metode for å lage objekter uten å spesifisere den eksakte klassen. Gjør kode mer fleksibel og utvidbar.

Observer-mønster

Definerer en en-til-mange avhengighet mellom objekter. Når ett objekt endres, varsles alle avhengige objekter.

Strategi-mønster

Lar algoritmer variere uavhengig av klientene som bruker dem. Brukes for å bytte mellom ulike metoder.

Adapter-mønster

Konverterer grensesnittet til en klasse til et annet grensesnitt. Lar inkompatible klasser samarbeide.

Kompositt-mønster

Behandler enkeltobjekter og grupper av objekter likt. Brukes for å skape hierarkiske strukturer.

Dekorator-mønster

Legger til ansvar til objekter dynamisk. Gir en fleksibel alternativ til subklassering.

Fasade-mønster

Gir et forenklet grensesnitt til et sett med grensesnitt i et subsystem. Forenkler bruk av komplekse systemer.

Prototype-mønster

Bruker en eksisterende instans for å lage nye objekter. Reduserer kostnaden ved å opprette et nytt objekt.

Template Method

Definerer skjelettet av en algoritme i en metode, men lar subklasser implementere bestemte trinn.

True or False: Factory Method er et konkret mønster.

False: Factory Method er et abstrakt mønster, det spesifiserer grensesnittet for å opprette objekter.

Byggemønsteret

Separerer konstruksjonen av et komplekst objekt fra dets representasjon. Gir en fleksibel måte å lage objekter.

Memento-mønster

Lar lagring av tilstanden til et objekt uten å avsløre dets implementering. Brukes for angre-funksjonalitet.

Chain of Responsibility

Gir en måte å sende forespørsel gjennom en kjede av håndterere. Hver håndterer forespørselen eller sender den videre.

Brugervennlig sammenligning: Kompositt vs. Dekorator

Kompositt: Hierarkisk struktur. Dekorator: Dynamisk ansvar. Begge gir fleksibilitet, men på ulike måter.

Fasade vs. Adapter

Fasade: Forenkler grensesnittet til et subsystem. Adapter: Tilpasser grensesnittet til et eksisterende objekt.

Hvorfor bruke designmønstre?

Forbedrer koden ved å gi gjenbrukbare løsninger, reduserer kompleksitet og forbedrer lesbarhet.

Bruk av strategi-mønster

Eksempel: Bytte sorteringsalgoritmer. Koden kan enkelt byttes ut uten å endre klientkode.

Observer-mønsteret i praksis

Eksempel: En nyhetsapplikasjon varsler brukerne når nye artikler publiseres. Bruk av observere for å oppdatere visninger.

Hva er Skabelon-mønsteret?

Skabelon-mønsteret definerer skjelettet av en algoritme i en metode, mens underklassene kan implementere spesifikke trinn. - Fremmer gjenbruk - Reduserer kode duplisering - Gir fleksibilitet i algoritmedesign.

Spørsmål i dette studiesettet(80)

1. Hva er hovedformålet med en klasse i objektorientert programmering?

A.Å definere en mal for objekter
B.Å lagre data
C.Å utføre matematiske beregninger
D.Å håndtere brukerinndata

2. Hva beskriver en klasse?

A.En mal for å lage objekter
B.En spesifikk instans av et objekt
C.En metode som definerer atferd
D.En teknikk for databeskyttelse

3. Hva er arv i objektorientert programmering?

A.En mekanisme for å gjenbruke kode mellom klasser
B.En metode for å opprette nye objekter
C.En prosess for å slette klasser
D.En teknikk for å optimalisere algoritmer

4. Hva beskriver Singleton-mønsteret?

A.Sikrer at en klasse bare har én instans.
B.Lar flere instanser av en klasse eksistere.
C.Tillater at objekter kan opprettes uten spesifikasjon.
D.Definerer en en-til-mange avhengighet mellom objekter.

5. Hvilket av følgende beskriver best et objekt?

A.En metode i en klasse
B.En instans av en klasse
C.En datatype
D.En funksjon

6. Hva er en viktig egenskap ved innkapsling?

A.Å skjule interne tilstander
B.Å arv fra flere klasser
C.Å bruke polymorfisme
D.Å definere metoder uten parametere

7. Hvilket alternativ beskriver best polymorfisme?

A.Evnen til å bruke metoder på objekter av ulike klasser
B.Prosessen for å lage nye klasser fra eksisterende
C.En metode for å optimalisere minnebruk
D.En måte å redusere koden i programmer

8. Hva gjør Fabrikkmetode-mønsteret?

A.Oppretter objekter uten å spesifisere den eksakte klassen.
B.Maksimerer antallet instanser av en klasse.
C.Håndterer forespørsel gjennom en kjede av håndterere.
D.Legger til ansvar til objekter dynamisk.

9. Hva skjer når du oppretter et objekt av en klasse?

A.Konstruktøren kalles
B.Metodene blir automatisk slettet
C.Attributtene settes til null
D.Klassen blir ødelagt

10. Sann eller usann: En klasse kan være både abstrakt og konkret.

A.Sann
B.Usann
C.Bare hvis den har metoder
D.Bare hvis den arver fra en annen klasse

11. Hva er en fordel med å bruke arv?

A.Reduserer duplisering av kode
B.Forbedrer algoritmisk kompleksitet
C.Øker minneforbruket
D.Gir bedre sikkerhet i programmet

12. Hvordan fungerer Observer-mønsteret?

A.Definerer en en-til-mange avhengighet mellom objekter.
B.Legger til ansvar til objekter dynamisk.
C.Behandler enkeltobjekter og grupper likt.
D.Sikrer at bare en klasse har én instans.

13. Hvilket alternativ beskriver innkapsling best?

A.Å organisere data i en liste
B.Å skjule interne detaljer
C.Å lage flere objekter av en klasse
D.Å sammenligne ulike klasser

14. Hvilket av følgende er et eksempel på arv?

A.En bilklasse som arver fra et kjøretøy
B.En bilklasse som har metoder for å kjøre
C.En bilklasse med egenskaper som farge
D.En bilklasse som implementerer et grensesnitt

15. Hvilken klasse er en typisk overklasse for 'Papegøye' og 'Falk'?

A.Fugl
B.Dyr
C.Evolusjon
D.Reptil

16. Når er Strategi-mønsteret nyttig?

A.Når algoritmer trenger å variere uavhengig av klientene.
B.Når man ønsker å redusere kompleksitet ved å bruke flere klasser.
C.Når man trenger å lagre tilstanden til et objekt.
D.Når man vil forenkle grensesnittet til et subsystem.

17. Hva er en viktig fordel med å bruke klasser?

A.Koden blir alltid raskere
B.Bedre organisering av koden
C.Mindre minnebruk
D.Færre linjer med kode

18. Hva definerer et objekt?

A.En instans av en klasse med tilstand og atferd
B.En mal for å lage klasser
C.En type metode
D.En liste over attributter

19. Er følgende påstand sann eller usann: Arv kan føre til kompleksitet?

A.Sant
B.Usant
C.Bare i store prosjekter
D.Kun i små klasser

20. Hva gjør Adapter-mønsteret?

A.Konverterer grensesnittet til en klasse til et annet grensesnitt.
B.Definerer skjelettet av en algoritme.
C.Lar objekter lagre sin tilstand.
D.Håndterer forespørsel gjennom en kjede av håndterere.

21. Hvordan kan man få tilgang til et objekts attributt?

A.Ved å bruke klassens navn
B.Ved å bruke objektets metode
C.Ved å bruke objektets navn etterfulgt av punktum
D.Ved å kalle konstruktøren

22. Hva er polymorfisme?

A.Evnen til å bruke metoder med samme navn på ulike objekter
B.Å skjule data i objekter
C.Å opprette flere instanser av en klasse
D.Å levere datatyper i metoder

23. Hva kjennetegner en abstrakt klasse?

A.Kan ikke instansieres
B.Er alltid konkret
C.Kan ha statiske metoder
D.Kan kun ha private metoder

24. Hva er hensikten med Kompositt-mønsteret?

A.Å behandle enkeltobjekter og grupper av objekter likt.
B.Å opprette flere instanser av en klasse.
C.Å lagre tilstanden til objekter.
D.Å spesifisere hvordan objekter opprettes.

25. Hva er en konstruktør?

A.En metode som sletter objekter
B.En spesialmetode for å initialisere objekter
C.En variabel i klassen
D.En type objekt

26. Hvilket av følgende beskriver en konstruktør?

A.En metode som initialiserer objekter ved opprettelse
B.En metode som endrer objektets tilstand
C.En variabel som beskriver egenskaper
D.En mal for å lage klasser

27. Hva skjer under polymorfisme?

A.Metoder kan brukes på objekter av forskjellige klasser
B.Klasser kan ikke arve fra hverandre
C.Objekter kan kun ha én datatype
D.Ingen metoder kan overstyres

28. Hva gjør Dekorator-mønsteret?

A.Legger til ansvar til objekter dynamisk.
B.Sikrer at bare én instans av en klasse eksisterer.
C.Skaper hierarkiske strukturer.
D.Reduserer kompleksiteten i et subsystem.

29. Hva er forskjellen mellom private og offentlige attributter?

A.Private kan endres utenfor klassen, offentlige kan ikke
B.Offentlige er tilgjengelige utenfor klassen, private er ikke
C.Ingen forskjell
D.Private kan ikke brukes

30. Hvilken av følgende påstander er usann?

A.Alle metoder kan være statiske
B.Statiske metoder tilhører klassen
C.Instansmetoder kan bruke instansdata
D.Metoder kan overstyres

31. Hva er overstyring?

A.En metode som kan endres i en underklasse
B.En type arv som ikke er tillatt
C.En måte å forbedre sikkerheten i programmer
D.En metode for å lage abstrakte klasser

32. Hvordan fungerer Fasade-mønsteret?

A.Gir et forenklet grensesnitt til et sett med grensesnitt.
B.Maksimerer antallet instanser av objekter.
C.Definerer en en-til-mange avhengighet.
D.Lar objekter lagre sin tilstand.

33. Hvilket av følgende beskriver statiske metoder korrekt?

A.De tilhører objektene
B.De er knyttet til klassen
C.De kan bare kalles fra objekter
D.De kan ikke ha parametere

34. Hva er en metodeoverlasting?

A.Å ha flere metoder med samme navn og ulik signatur
B.Å ha metoder med lik signatur i forskjellige klasser
C.Å endre en metode i en underklasse
D.Å opprette en ny klasse fra en annen

35. Hva er en interface?

A.En kontrakt for metoder uten implementering
B.En type abstrakt klasse
C.En metode for å lage objekter
D.En spesiell variabeltype

36. Hva er hovedideen bak Prototype-mønsteret?

A.Bruker en eksisterende instans for å lage nye objekter.
B.Definerer et sett med grensesnitt.
C.Legger til ansvar til objekter.
D.Håndterer forespørsel gjennom en kjede.

37. Hva er en klassevariabel?

A.En variabel som er spesifikk for et enkelt objekt
B.En variabel delt mellom alle objekter av klassen
C.En lokal variabel inne i en metode
D.En konstant verdi

38. Hvilket alternativ er IKKE et karaktertrekk ved abstrakte klasser?

A.De kan ikke instansieres
B.De kan inneholde abstrakte metoder
C.De må alltid ha en konstruktør
D.De kan være baser for andre klasser

39. Hvordan kan polymorfisme implementeres?

A.Gjennom abstrakte klasser eller grensesnitt
B.Ved å bruke kun konkrete klasser
C.Ved å unngå arv
D.Kun ved å bruke statiske metoder

40. Hva er Template Method-mønsteret?

A.Definerer skjelettet av en algoritme i en metode.
B.Sikrer at en klasse bare har én instans.
C.Konverterer grensesnittet til en klasse.
D.Legger til ansvar til objekter.

41. Hvilket alternativ viser best hvordan metoder kan endre et objekts tilstand?

A.Ved å bruke klassevariabler
B.Ved å oppdatere attributtene i metoden
C.Ved å slette objektet
D.Ved å opprette flere objekter

42. Hvordan er instansmetoder forskjellig fra statiske metoder?

A.Instansmetoder tilhører objekter, mens statiske tilhører klassen
B.Statiske metoder kan ikke ha parametere
C.Instansmetoder kan ikke brukes i klasser
D.Statiske metoder har alltid returverdi

43. Hva er forholdet mellom arv og polymorfisme?

A.Arv gir struktur, polymorfisme gir fleksibilitet
B.De er helt uavhengige av hverandre
C.Polymorfisme kan ikke eksistere uten arv
D.Arv gjør polymorfisme umulig

44. Hvilket mønster lar deg lagre tilstanden til et objekt?

A.Memento-mønsteret.
B.Fabrikkmetode.
C.Observer-mønsteret.
D.Strategi-mønsteret.

45. Hvilket av følgende er IKKE en egenskap ved klasser?

A.De kan ha metoder
B.De kan ha attributter
C.De kan ikke ha flere objekter
D.De kan arves

46. Hvilken av følgende beskriver komposisjon?

A.En klasse som inneholder objekter av andre klasser
B.En klasse som arver fra flere klasser
C.Å opprette metoder med ulik signatur
D.Å dele data mellom klasser

47. Hvilket eksempel illustrerer overstyring?

A.Metoden 'snakk()' kan returnere forskjellige verdier i underklasser
B.En klasse som ikke har noen metoder
C.En metode som kalles uten objekter
D.En klasse som ikke arver fra noen

48. Hva er Chain of Responsibility-mønsteret designet for?

A.Å sende forespørsel gjennom en kjede av håndterere.
B.Å opprette objekter basert på eksisterende instanser.
C.Å håndtere hierarkiske strukturer.
D.Å variere algoritmer uavhengig av klientene.

49. Hva skjer når metoden `bil1.kjør()` kalles?

A.Det opprettes et nytt objekt
B.En handling relatert til objektet bil1 utføres
C.Attributtene til bil1 slettes
D.En feil oppstår

50. Hva er et grensesnitt?

A.En samling av metoder uten implementasjon
B.En spesifikk implementasjon av en metode
C.En type klasse
D.En metode for å skjule data

51. Er følgende påstand sann eller usann: Polymorfisme gjelder kun for metoder.

A.Usant
B.Sant
C.Kun for abstrakte metoder
D.Kun for konkrete metoder

52. Hvilken sammenligning er riktig mellom Kompositt og Dekorator?

A.Kompositt: Hierarkisk struktur, Dekorator: Dynamisk ansvar.
B.Kompositt: Dynamisk ansvar, Dekorator: Hierarkisk struktur.
C.Kompositt: Ingen avhengigheter, Dekorator: En-til-mange avhengigheter.
D.Kompositt: Forenklet grensesnitt, Dekorator: Komplekse strukturer.

53. Hvordan kan objekter samarbeide?

A.Ved å opprette nye klasser
B.Ved å kommunisere gjennom metoder
C.Ved å slette hverandre
D.Ved å ignorere hverandre

54. Sann eller usann: Arv kan føre til kodegjenbruk.

A.Sann
B.Usann
C.Bare i abstrakte klasser
D.Bare med grensesnitt

55. Hva er dynamisk type?

A.Bestemmes ved kjøretid
B.Bestemmes ved kompilering
C.Er alltid statisk
D.Kan ikke endres

56. Når bør du bruke Fasade-mønsteret?

A.Når du vil forenkle grensesnittet til et subsystem.
B.Når du ønsker å håndtere komplekse tilstander.
C.Når du trenger å opprette objekter uten spesifikasjon.
D.Når du vil lagre tilstanden til objekter.

57. Hvilket av følgende er et eksempel på en metode som ikke er statisk?

A.`def metode(self):`
B.`@staticmethod`
C.`def klassemetode():`
D.`def __init__(self):`

58. Hvilket alternativ beskriver riktig forhold mellom objekter og klasser?

A.Objekter er instanser av klasser
B.Klasser er instanser av objekter
C.Objekter og klasser er det samme
D.Klasser kan ikke ha metoder

59. Hva er forskjellen mellom statiske og dynamiske metoder?

A.Statiske metoder er knyttet til klassen, dynamiske til objekter
B.Dynamiske metoder er alltid raskere
C.Statiske metoder kan ikke overstyres
D.Dynamiske metoder er kun for grensesnitt

60. Hvilket mønster spesifiserer hvordan objekter skal opprettes?

A.Fabrikkmetode.
B.Observer.
C.Kompositt.
D.Dekorator.

61. Hva er en mal for å opprette objekter?

A.Et objekt
B.En klasse
C.En metode
D.En variabel

62. Fyll inn det tomme: ______ er en oppførsel som kan variere avhengig av objektet.

A.Polymorfisme
B.Konstruktør
C.Arv
D.Innkapsling

63. Hva er konsekvensene av polymorfisme?

A.Forbedret kodegjenbruk og redusert kompleksitet
B.Ingen konsekvenser
C.Økt minnebruk uten fordeler
D.Kun gjelder for primitive typer

64. Hvilket utsagn er feil om Observer-mønsteret?

A.Det varsler alle avhengige objekter når et objekt endres.
B.Det tillater mange avhengige objekter.
C.Det kan ikke brukes i en-til-mange forhold.
D.Det definerer en avhengighet mellom objekter.

65. Hvilket av følgende er en riktig måte å opprette et objekt på?

A.`bil1 = Bil`
B.`bil1 = Bil()`
C.`bil1 = Bil.new()`
D.`bil1 = new Bil()`

66. Hva er et attributt?

A.En variabel som beskriver egenskaper ved et objekt
B.En metode som definerer atferd
C.En type klasse
D.En spesifikk instans av en klasse

67. Hva er en konsekvens av overstyring i arv?

A.En underklasse kan tilpasse oppførselen til en metode fra superklassen.
B.En underklasse kan ikke bruke metoder fra superklassen.
C.Overstyring reduserer kodedeling mellom klasser.
D.Overstyring krever at alle metoder er abstrakte.

68. Hvilket designmønster er best for å bytte algoritmer?

A.Strategi-mønsteret.
B.Fasade-mønsteret.
C.Template Method.
D.Observer-mønsteret.

69. Hva er en metode i en klasse?

A.En funksjon som er tilknyttet klassen
B.En variabel som holder data
C.En spesialmetode for å slette objekter
D.En metode for å oppdatere klassen

70. Hvilken av følgende beskriver best hva innkapsling gjør?

A.Den skjuler interne tilstander av objekter.
B.Den tillater fri tilgang til objektets data.
C.Den er en metode for å dele objekter.
D.Den gjør objekter uavhengige av klasser.

71. Hvilket alternativ er et eksempel på polymorfisme?

A.En metode som returnerer forskjellige typer objekter basert på parameterne.
B.En klasse som kun kan instansieres én gang.
C.Ett objekt som kan lagre flere datatyper samtidig.
D.En funksjon som kan kalle metoder fra flere superklasser.

72. Hva er et annet navn for Byggemønsteret?

A.Builder Pattern.
B.Prototype Pattern.
C.Decorator Pattern.
D.Observer Pattern.

73. Hvilket av følgende beskriver beste bruken av en klasse i objektorientert programmering?

A.En klasse kan opprettes uten å definere metoder.
B.En klasse fungerer som en mal for å opprette objekter med spesifikke egenskaper.
C.En klasse kan bare ha én instans.
D.En klasse kan ikke inneholde attributter.

74. Hvilken av følgende beskriver korrekt hva en abstrakt klasse er?

A.En klasse som kan instansieres direkte.
B.En klasse som kan brukes som en base for andre klasser.
C.En klasse som inneholder statiske metoder.
D.En klasse som ikke kan inneholde metoder.

75. Hvilket alternativ beskriver IKKE en fordel med arv?

A.Gjenbruk av kode.
B.Reduksjon i total kodelengde.
C.Risiko for kompleksitet i hierarkiet.
D.Forbedret vedlikeholdbarhet.

76. Hva er hovedformålet med Dekorator-mønsteret?

A.Å legge til ansvar til objekter dynamisk
B.Å forenkle grensesnittet til et subsystem
C.Å håndtere forespørsel gjennom en kjede av håndterere
D.Å opprette nye objekter fra eksisterende instanser

77. Hvilket alternativ er IKKE et korrekt kjennetegn ved objekter i objektorientert programmering?

A.Objekter kan ha unike verdier for sine attributter.
B.Objekter kan ikke endres etter opprettelse.
C.Objekter er instanser av klasser.
D.Objekter kan bruke metoder definert i klassen.

78. Hva er en nøkkelkarakteristikk ved statiske metoder?

A.De kan bruke instansdata.
B.De tilhører klassen og ikke et spesifikt objekt.
C.De kan ikke ha parametere.
D.De kan bare brukes i abstrakte klasser.

79. Hva skjer hvis en klasse arver fra flere klasser uten klart hierarki?

A.Det kan oppstå diamantproblemet.
B.Klassen vil ikke kompilere.
C.Arv vil ikke lenger være mulig.
D.Klassen vil automatisk bli abstrakt.

80. Hvilket av følgende beskriver best komparativt bruken av Adapter-mønsteret?

A.Adapter-mønsteret konverterer grensesnittet til en klasse for å gjøre det kompatibelt med et annet
B.Adapter-mønsteret lagrer tilstanden til et objekt
C.Adapter-mønsteret gir en måte å bytte algoritmer uten å endre klientkode
D.Adapter-mønsteret definerer skjelettet av en algoritme

Relaterte studiesett

Lag ditt eget studiesett

Last opp en PDF, lim inn notatene dine, eller beskriv et tema – AI genererer flashkort, quizer og mer på sekunder.