Uppgift: garaget
Bygg ett garage som håller reda på bilar, med klasser som har var sitt ansvar.
Uppgift
Bygg ett program med två klasser: Bil och Garage.
Klassen Bil
- Egenskaper: märke, färg och pris.
- En konstruktor som tar emot alla tre.
- Metoden
info()som returnerar en beskrivning av bilen.
Klassen Garage
- En privat array med bilarna.
stallIn($bil)ställer in en bil i garaget.taUtBil($index)tar ut bilen på en viss plats och returnerar den.saljBil($index)tar bort bilen och returnerar priset.lista()skriver ut alla bilar, numrerade.antal()returnerar antalet bilar.
Programmet nedan ska fungera när du är klar:
Förväntad utskrift, ungefär:
1. Bil [märke: BMW, färg: Blå, pris: 350000 kr]
2. Bil [märke: Volvo, färg: Silver, pris: 280000 kr]
3. Bil [märke: Audi, färg: Grön, pris: 420000 kr]
Tog ut: Bil [märke: BMW, färg: Blå, pris: 350000 kr]
Sålde en bil för 280000 kr
Bilar kvar: 1
1. Bil [märke: Audi, färg: Grön, pris: 420000 kr]
Tips:
array_splice($array, $index, 1)tar bort ett element och numrerar om resten. Den returnerar en array med det borttagna elementet.- Vad ska hända om någon försöker ta ut en bil på en plats som inte finns?
Extra
- Lägg till metoden
totaltVarde()som summerar priset på alla bilar. - Lägg till metoden
sok($marke)som returnerar alla bilar av ett visst märke. - Spara garaget till en JSON-fil och läs in det igen.
Klar när
- Testprogrammet körs utan fel och varningar.
- Arrayen med bilar är privat och nås bara genom garagets metoder.
- Ett ogiltigt index hanteras utan att programmet kraschar.