4072 lärobok

Ett bra sätt att lära sig på är att förklara för någon annan eller för sig själv. Det gör att man bättre förstår vad man har koll på och vad man inte riktigt har fått koll på ännu.

Tänk dig att du skriver en lärobok i programmering för dig själv eller för en klasskamrat. Kodsnuttar och skärmdumpar från Visual Studio kan vara användbara. Observera att kod måste sättas i en monospaced font, till exempel courier.

Du kan börja var som helst.

Uppgiften lämnas in på itslearning. Skriv i din kopia av detta dokumentet. Det är nog lämpligt att du använder samma rubriker som nedan. Om du vill strukturera din lärobok på ett annat sätt så kan du göra det.

Kontrollstrukturer

if-sats

Berätta allt. Hjälpfrågor följer.

  1. Hur skrivs if-satser?
  2. Berätta om else?
  3. Berätta om else if?
  4. Förklara med exempelkod.

while-slingor

Berätta allt. Hjälpfrågor följer.

  1. Hur skrivs while-slingor?
  2. Jämför med en if-sats. Vad är det för likheter och skillnader?
  3. Förklara med exempelkod.

for-slingor

Berätta allt. Hjälpfrågor följer.

  1. Hur skrivs for-slingor?
  2. Jämför gärna med while-slinga
  3. Förklara med exempelkod.

foreach-slingor

Berätta allt. Hjälpfrågor följer.

  1. Hur skrivs foreach-slingor.
  2. Förklara med exempelkod.
  3. Hur stegar man igenom en array med hjälp av en foreach-slinga?
  4. Hur stegar man igenom en lista (List) med hjälp av en foreach-slinga?

Klass och objekt

Skriv allt du vet om klasser och objekt. Nedan följer några konkreta frågor.

  1. Vad är en klass?
  2. Vad är ett objekt?
  3. Vilka delar består en klass av?
  4. Vad används objekt till?
  5. Hur hör klasser och objekt ihop?
  6. Hur ritas klassdiagram? Ge exempel.
  7. Hur ritas objektdiagram? Ge exempel.

Variabler

Skriv allt du vet om variabler. Nedan följer några konkreta frågor.

  1. Vad är en variabel?
  2. Vad används den till?
  3. Hur används den?
  4. Vad finns det för olika sorters variabler? Vad har de för likheter? Vad skiljer dem åt?

Konstruktor

Skriv allt du vet om konstruktorn. Nedan följer några konkreta frågor.

  1. Vad används konstruktorn till?
  2. Hur skrivs den?
  3. Hur anropas den?

Property

Berätta om hur properties används tillsammans med objektvariabler.

  1. Hur skrivs en property så att man kan läsa objektvariabeln tal.
  2. Hur skrivs en property så att man ändra på objektvariabeln tal.
  3. Ge fler exempel.
  4. Jämför kanske med hur man kan använda Get- och Set-metoder.

Metoder

Skriv allt du vet om metoder. Nedan följer några konkreta frågor.

  1. Vad är en metod?
  2. Hur deklareras metoder? Berätta om huvud och kropp.
  3. Hur anropas metoder?
  4. Berätta om parametrar i deklaration och i anrop.
  5. Klassmetod – har vi försökt undvika. Main-metoden är en sådan.
  6. Objektmetod – vanligast för oss.

Namngivningsregler

Hur bör klasser, variabler, egenskaper (eng. properties), metoder namnges? Beskriv utförligt.

Kodens struktur

indentering

  1. Hur bör koden indenteras? Det vill säga hur ska den skjutas in.
  2. När skjuts den in fyra extra mellanslag?
  3. Berätta om följande teckens koppling till indentering {, } och ;
  4. Varför indenterar man koden?

Kommentarer

Berätta allt om kommentarer.

  1. Hur kan koden kommenteras?
  2. Vad bör skrivas i kommenterar?
  3. Vad är självkommenterande kod?

Datastrukturer

Array

Berätta om vektorer (eng. array).

  1. Vad är en vektor?
  2. Hur skapas en vektor?
  3. Hur fyller man på i vektorn?
  4. Hur läser man från vektorn?

List

Berätta hur man gör listor med klassen List.

  1. Hur skapas en lista?
  2. Hur lägger man till i listan?
  3. Hur går man igenom listan, till exempel för att skriva ut den.

Arv

Vanligt arv

Berätta om arv med hjälp av exempel.

  1. Hur skriver man för att en klass ska ärva från en annan.
  2. Vad får den ärvande klassen med sig?
  3. Berätta om nyckelorden private och protected. Vilket ska användas framför objektvariabler och varför.
  4. Vad finns det för fördelar med arv? Visa med hjälp av exempel.
  5. Hur ser man i klassdiagram att en klass ärver från en annan.
  6. Berätta om överklass och underklass.

Abstrakta klasser

Berätta om abstrakta klasser.

  1. Hur gör man abstrakta klasser?
  2. Varför vill man göra det?
  3. Hur ser man i ett klassdiagram att en klass eller metod är abstrakt?

Interface

Berätta om interface.

  1. Vad är ett interface.
  2. Hur skriver man ett interface.
  3. Varför har man det?
  4. Hur känner man igen ett interface i ett klassdiagram.