Läxa – Objektorienterad Design
Årskurs: Gymnasiet
Ämne: Digital Teknik – Programmering: Objektorienterad Design
Tema: Grundläggande principer för objektorienterad design
Ordkollen
Här listas tio ämnesord på läxans tema som är bra att känna till betydelsen av.
- Klass: En mall eller blueprint som definierar egenskaper och beteenden för objekt.
- Objekt: En instans av en klass som representerar en specifik entitet med egna värden.
- Inkapsling: Principen att dölja interna detaljer i ett objekt och endast exponera ett gränssnitt.
- Arv: Förmågan hos en klass att ärva egenskaper och metoder från en annan klass.
- Polymorfism: Möjligheten för olika objekt att reagera på samma metodanrop på olika sätt.
- Abstraktion: Att förenkla komplexa system genom att fokusera på de viktigaste delarna och dölja detaljer.
- Metod: En funktion definierad inom en klass som utför en handling eller beräkning.
- Attribut: Egenskaper eller data som varje objekt av en klass kan ha.
- Interface: Ett kontrakt som klasser kan implementera, specificerar vilka metoder de måste ha.
- Konstruktor: En speciell metod som används för att skapa och initialisera objekt av en klass.
Instuderingsfrågor
- Vad definierar en klass inom objektorienterad design?
- Förklara begreppet inkapsling och varför det är viktigt.
- Hur skiljer sig polymorfism från arv?
- Vad är skillnaden mellan en metod och ett attribut?
- Beskriv vad en konstruktor används för.
- Ge ett exempel på hur abstraktion kan användas i programmering.
- Vad innebär ett interface i objektorienterad programmering?
- Hur kan arv bidra till kodåteranvändning?
- Vilka är de fyra grundläggande principerna för objektorienterad programmering?
- Förklara hur objekt kan kommunicera med varandra inom ett program.
Övning
Nedan listas uppgifter och fyra svarsalternativ. Du ska ringa in det alternativ som är korrekt. Observera att av de fyra alternativen är endast ett korrekt.
Beskrivning / Fråga | A | B | C | D |
---|---|---|---|---|
1. Vad används en klass främst för inom OOP? | För att skapa variabler | För att definiera objektets struktur | För att utföra matematiska operationer | För att hantera inmatning |
2. Vilken princip handlar om att dölja objektets interna tillstånd? | Arv | Polymorfism | Inkapsling | Abstraktion |
3. Vad är polymorfism? | Möjligheten att ha flera klasskomponenter | Förmågan att ett objekt kan anta flera former | Relationen mellan två klasser | En designmönstertyp |
4. Vilken metod används för att initiera ett objekt? | destructor | main | constructor | initializer |
5. Vad beskriver ett attribut i en klass? | En funktion | En egenskap | En constructor | En interface |
6. Vilket av följande är ett exempel på arv? | En bil som har en motor | En hund som är en djurart | En frukt som är ett livsmedel | Ett företag som har anställda |
7. Vad beskriver ett interface? | En konkret klass | En abstrakt metod | Ett kontrakt för metoder | En typ av arv |
8. Vilken är inte en grundprincip inom OOP? | Abstraktion | Komposition | Inheritance | Strukturering |
9. Hur kan polymorfism förbättra kodens flexibilitet? | Genom att tillåta flera metoder med samma namn | Genom att skapa flera klasser | Genom att dölja data | Genom att återanvända kod |
10. Vad är syftet med abstraktion i OOP? | Att öka komplexiteten | Att dölja implementationen | Att skapa flera objekt | Att minska kodstorleken |
Skrivuppgifter
Här presenteras tre olika skrivuppgifter som är utformade på tre olika svårighetsnivåer: enkel, medel och svår.
Skrivuppgift 1: Förklara Grundläggande Begrepp
Beskriv vad klasser och objekt är inom objektorienterad design. Diskutera skillnaderna mellan dessa två begrepp och ge exempel på hur de används i programmering.
Svarslängd: ca. 200 ord (En halv sida)
Skrivuppgift 2: Analysera ett OOP-exempel
Gå igenom ett exempel på ett objektorienterat program (t.ex. en enkel bankapplikation). Identifiera och beskriv klasserna som används, deras attribut och metoder, samt relationerna mellan dem.
Svarslängd: ca. 300 ord (En halv till två tredjedelar av en sida)
Skrivuppgift 3: Designa ett Objektorienterat System
Designa ett litet objektorienterat system för en skolbibliotekstjänst. Beskriv vilka klasser som behövs, deras attribut och metoder, samt hur de relaterar till varandra. Motiviera dina designval och diskutera hur principerna för inkapsling och arv tillämpas i ditt system.
Svarslängd: ca. 400 ord (Två sidor)
Lycka till med din läxa!