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
newoch 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.$thisbetyder “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
- Lägg till egenskapen
$arsmodelli klassenBiloch ta med den iinfo(). - Skapa en tredje bil.
- Lägg till raden
$konto->saldo = 1000000;sist i det andra exemplet. Vad händer, och varför? - Lägg till metoden
taUt($belopp)som inte tillåter att saldot blir negativt.