Hoppa till innehåll

Översikt

DEnna vecka börjar du titta på objektorienterade konstruktioner i form av klasser. Information om veckans upplägg annonseras löpande i kursens Zulip-kanal.

Tisdagen i kursvecka 6 inleddes med veckans översikt och frågor om A2 inför fredagens deadline: var du hittar uppgiftens issues, hur inlämningen via merge request fungerar och vad som gäller om du missar deadline. Därefter tog Mikael de första stegen med klasser och livekodade en tärning med konstruktor, metoder och privata fält, och förklarade vad inkapsling innebär.

1:03:28

Torsdagen i kursvecka 6 inleddes med en genomgång av inlämningen av A2 via merge request: vad inlämningsrapportens gröna bockar betyder, vad pipelinen kontrollerar och vad som gäller för antalet commits. Därefter tog Mikael tisdagens tärning vidare till ett litet tärningsspel och visade vägen från spelidé via krav, flödesdiagram och pseudokod till en fungerande klass.

1:37:49

Ett moment som många har svårt med i examinationsuppgift A2 är funktionen “mode”. För att underlätta löses här ett exempel som löser samma grundläggande problem.

Exempelkoden hittar du på GitLab.

Reviderad

1:08:42

I JavaScript finns inte bara ett sätt att skapa ett objekt. Från enkel objektliteral till klass – flera vägar leder fram.

Presentation

Reviderad

Under läsanvisningar hittar du veckans kapitel som ska läsas i kurslitteraturen. Planera upp och dela upp läsningen under veckan.

Under Övningsuppgifter hittar du övningsuppgifter som det är lämpligt att du arbetar med under veckan.

Nu bör du vara i full färd med att färdigställa examinationsuppgift A2. (För att komma igång se Examinationsuppgifter->Om->Kom Igång).

Här kan du läsa om hur du lämnar in din uppgift via en MR.

Det finns en del utmaningar att titta på även denna veckan. Tänk att utmaningar kan vara bra för att komma igång med egna kodexempel kring veckans fokus.

Här är ett antal frågor som du kan försöka besvara och diskutera tillsammans med din AI-assistent. Tveka inte att lyfta någon av frågorna till handledningen för att fortsätta diskussionen med lärare och studiekamrater.

  1. Ge mig en kort förklaring till begreppet klasser i JavaScript.
  2. Sparar man en klass i sin egen fil och använder man då import och export?
  3. Vilka är de grundläggande konstruktionerna i en klass?
  4. Vad innebär begreppet private kontra public i en klass?
  5. Bör man använda private eller public på properties och metoder?
  6. Jag vill lära mig att skydda data, jag har hört begreppet “encapsulation”.
  7. Visa mig hur getters och setters fungerar i en klass.
  8. Vad kan man säga kort om fördelar med objektorienterad programmering?
  9. Jag har lärt mig om JavaScript objektliteral och hur man skapar objekt i JavaScript med object.create. Hur förhåller det sig till klasser?
  10. Är det vanligt att skriva objektorienterad kod med klasser i JavaScript?

Här är en utskrift från hur det såg ut när jag diskuterade ovan frågor med min AI-assistent Ajj.

Här följer tips till hur du kan prioritera bland kursmaterialet för att komma igång med veckan.

  1. Det finns en deadline för A2, sikta på att möta den. Missa inte inspelningen om mode som kan ge dig tips.
  2. När du är klar med A2 så kan du redan nu börja titta på och läsa in dig på kraven för A3. Du kommer känna igen dig i strukturen på uppgiften.
  3. Föreläsningen om klasser ger dig bakgrunden till vad objektorientering handlar om och hur koden är tänkt att skrivas i A3.
CCBY