Skip to content

Track 1 - Toetsopdracht - BSA Monitor

Codelab

npx @hboictcloud/codelab-cli new oop/1-bsa-monitor

Beschrijving

Tijdens de Programming Codelabs heb je al eens gewerkt aan een BSA Monitor.

In deze nieuwe versie ga je werken met classes en objecten. Daarmee kunnen we de applicatie korter, efficiënter en gemakkelijk uitbreiden met nieuwe vakken.

  1. Maak een class Vak volgens het onderstaande klassendiagram.
  2. Maak een instantie van Vak.
  3. Vraag de gebruiker om een cijfer en sla deze op in de instantie.
  4. Toon de informatie uit de instantie.

Hieronder een voorbeeld van input/output van deze applicatie. Input die de gebruiker invoert is onderstreept.

Voorbeeld 1

Voer behaalde cijfer voor Fasten your Seatbelts in: 5.5
Vak/Project: Fasten your Seatbelts  Cijfer: 5.5  Punten: 12

Voorbeeld 2

Voer behaalde cijfer voor Fasten your Seatbelts in: 5.4
Vak/Project: Fasten your Seatbelts  Cijfer: 5.4  Punten: 0

Klassendiagram

classDiagram
    class Vak {
        naam: string
        punten: number
        cijfer: number
        constructor(naam: string, punten: number)
        getNaam() string
        getPunten() number
        getCijfer() number
        setCijfer(cijfer: number) void
        gehaaldePunten() number
    }

Stappenplan

  1. Maak een nieuwe class genaamd Vak.

    1. Deze class heeft de volgende attributen: naam, punten, cijfer. Tip: dit zijn de attributen die straks bij 1 object horen, dus het zijn geen arrays!
    2. Maak een constructor Vak(naam: string, punten: number) die de nieuwe naam en de nieuwe punten van het vak kopieert in de attributen.
    3. Maak een methode getNaam(): string die de naam van het vak teruggeeft.
    4. Maak een methode getPunten(): number die de punten van het vak teruggeeft.
    5. Maak een methode getCijfer(): number die het cijfer van het vak teruggeeft.
    6. Maak een methode setCijfer(cijfer: number): void die het nieuwe cijfer van het vak kopieert in het attribuut.
    7. Maak een methode gehaaldePunten(): number die controleert of een vak is gehaald (dat wil zeggen: het cijfer is een voldoende) en die het behaalde aantal punten teruggeeft.
  2. Test of dit alles werkt in de index.ts.

    1. Maak een object van type Vak aan door de constructor aan te roepen: const fys: Vak = new Vak("Fasten your Seatbelts", 12);
    2. Vraag de gebruiker om een cijfer voor dit vak en lees dit cijfer in.
    3. Sla dit cijfer op bij het vak. Gebruik hiervoor de methode setCijfer() van het object fys.
    4. Druk de volgende informatie van het vak af: naam, cijfer, gehaalde punten. Gebruik hiervoor de methoden getNaam(), getCijfer() en gehaaldePunten() van het object fys.
    5. Kijk of het aantal behaalde punten klopt als je een voldoende of een onvoldoende invoert.

Richtlijnen bij coderen

  • Zorg dat je naam en het doel van het programma bovenin staan.
  • Gebruik de juiste inspringing (indentation) bij de lay-out.
  • Let op juist gebruik hoofdletters en kleine letters.
  • Gebruik goede namen.
  • Voeg waar nodig commentaar toe dat inzicht geeft in je code.