Differences

This shows you the differences between two versions of the page.

Link to this comparison view

proc_g_uppgifter [2017-09-01 14:54]
proc_g_uppgifter [2022-07-18 13:20] (current)
Line 1: Line 1:
 +====== Start på Programmering C ======
 +[[jf_oop_1]]
  
 +  - Se på video och gör alla steg 1-22 på denna [[http://www.killerphp.com/tutorials/object-oriented-php/index.php |sida]]. Detta är det mest grundläggande i **Programmering C** så se till att ni förstår alla steg och att ni gör alla steg själv också.
 +  - Du skall med hjälp av din kunskap av klasser göra en klass fordon. Tänk noga igenom namngivning av klasser, metoder och variabler.
 +    * Klassen fordon skall ha en metod (Methods) getInfo() som returnerar information om objektet.
 +    * Klassen skall ha minst 3 variabler (Properties) (vikt, topphastighet och registrerings_id) som är protected. 
 +    * Klassen fordon skall ha en konstruktor som sätter minst registrerings_id, gärna mer.
 +    * Man skall kunna hämta och ändra klassens variabler via publika metoder. OBS! två metoder per variabel.
 +  - Du skall från klassen fordon ärva minst 3 olika typer av fordon
 +    * Varje klass som ärvs skall ha minst en egen variabel som man kan hämta och ändra via publika metoder.
 +    * Varje klass som ärvs av fordon skall "override":a metoden getInfo() och via den funktionen skall det tydligt framgå vilket typ av fordon det är.
 +  - Vi ska nu ansluta till en databas på ett objektorienterat  sätt via klassen [[http://www.php.net/manual/en/class.mysqli.php|mysqli]] och hämta data via [[http://www.php.net/manual/en/class.mysqli-result.php|mysqli-result]].\\ Se ett litet [[ex_mysqli]].
 +    * Din uppgift blir att än en gång göra om frågesporten men nu skall ni lägga in och hämta data via mysqli och mysqli-result.
 +  - Du har nu gjort en klass fordon och från den har du ärvt minst 3 klasser, du har också tittat på hur man kan prata med en databas på ett objektorienterat sätt. Din uppgift blir att göra en klass garage.
 +    * Klassen skall klara av att parkera alla olika typer av fordon som du har gjort.
 +    * Garage skall ärvas från klassen mysqli.
 +    * Din klass garage skall spara all information i databasen lämpligt är att använda serialize och unserialize. På det viset borde det räcka med 2 fält, VehicleID och ObjectData. Du får ha fler men det känns onödigt tycker jag.
 +    * Du ska till din klass garage skriva mist dessa metoder ([[proc_help_garage]]):
 +      - ''parkVehicle($vehicle)'' – skall lägga till ett fordon till garaget (spara ett objekt till databasen).
 +      - ''checkoutVehicle($registration)'' – skall plocka bort och returnera fordonet med registrerings_id $registration
 +      - ''countVehicle()'' - skall returnera antal fordon i garaget.
 +      - ''totalWeight()'' - skall returnera den totala vikten av alla fordon i garaget.
 +      - ''fastestVehicle()'' - skall returnera det snabbaste av alla fordon i garaget.
 +      - ''info()'' - skall presentera information om alla fordon som finns i garaget.
 +    * Tips på tillvägagångssätt:
 +      - Fundera ut hur din databas skall se ut, när du är klar visa mig.
 +      - Testa så att du kan spara en instans av dina klass i databasen och sedan hämta upp den från databasen och återställa objektet. (serialize och unserialize).
 +      - Börja med din klass garage och testa så att varje steg du gör fungerar.