CMS-kursen

Klasser och objekt

En klass är en mall som beskriver en sak. Av mallen skapar du objekt som har egna värden.

Objektorienterad programmering

OOP står för objektorienterad programmering. Tanken är att samla data och de funktioner som hör till datan på samma ställe.

  • En klass är en mall, till exempel Bil.
  • Ett objekt är en sak skapad av mallen, till exempel en blå BMW.
  • Av en klass kan du skapa hur många objekt som helst, med ordet new och klassens namn.

En klass har:

  • egna variabler, som kallas egenskaper
  • funktioner, som kallas metoder
  • ett ansvar, till exempel att hantera en bil

Din första klass

  • class Bil { ... } beskriver mallen. Klassnamn skrivs med stor bokstav.
  • new Bil() skapar ett objekt.
  • -> används för att nå objektets egenskaper och metoder. Egenskapen skrivs utan $: $bil1->marke.
  • $this betyder “det här objektet”. Samma metod ger olika svar beroende på vilket objekt den anropas på.

public och private

Framför egenskaper och metoder anger du vem som får använda dem:

Ord Betyder
public Går att nå utifrån, till exempel $bil->marke
private Går bara att nå inifrån klassen, via $this

Med private skyddar du data så att den bara kan ändras genom klassens egna metoder. Då kan klassen kontrollera att värdena är rimliga.

Prova själv

  1. Lägg till egenskapen $arsmodell i klassen Bil och ta med den i info().
  2. Skapa en tredje bil.
  3. Lägg till raden $konto->saldo = 1000000; sist i det andra exemplet. Vad händer, och varför?
  4. Lägg till metoden taUt($belopp) som inte tillåter att saldot blir negativt.