Differences

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

Link to this comparison view

prog2_03 [2019-09-26 17:26]
Daniel Viström
prog2_03 [2022-07-18 13:20]
Line 1: Line 1:
-====== Objektorienterad programmering ====== 
  
- 
- 
-===== Uppgifter: ===== 
- 
-1. 
-**Introduktion till objektorienterad programmering i Java** \\ 
-Översätt php-koden i [[http://student.oedu.se/doku.php?id=prog1_12#uppgift |uppgiften med tärningar och tärningskopp]] till Java.\\  
-\\ 
-//Tips//:  
-Läs specifikation FÖRE, UNDER och EFTER kodningen!!!!!! \\ 
-Metodnamn, attributnamn, klassnamn ska vara de som finns i specifikationen med undantaget att i Java skriver vi t.ex. printDie() istället för print_die() \\ 
-//Klassen Index//:  
-Samma rader som finns i php-filen som ni fått ut ska finnas i java-filen, d.v.s. utskrifterna som görs i php-filen ska även göras i Javafilen. Däremot tar ni bort alla HTML-taggar. Endast denna klass ska innehålla en main-metod.\\ 
-//Klassen Die//:  
-Metoden printDie ska bara skriva ut värdet. Inga bilder behövs. I övrigt som specifikationen förutom namngivningsreglerna enligt ovan. \\ 
-//Klassen Cup//:  
-Ha datatypen ArrayList<Die> för attributet. I övrigt som specifikationen förutom namngivningsreglerna enligt ovan.\\ 
-//Inlämning//:  
-Ta filerna Index.java, Cup.java, Die.java från din workspace på datorn. Packa ihop dessa till en zip-fil och skicka in. \\ 
- 
-2. 
-**Fish**\\ 
-Skriv en klass //Fish// som beskriver en fisk.\\ 
-Klassen ska ha: 
-  * attributen //sort//, //length// (i cm) och //weight// (i g). 
-  * en //konstruktor// som har tre parametrar som tar in startvärden till de tre attributen. 
-  * 3 //get-metoder// som returnerar "värden" för varsitt attribut. Inga set-metoder ska finnas. 
-  * en metod som returnerar //priset// på fisken (i hela kronor) utifrån dess vikt (120 kr/kg oavsett fisksort). 
-  * en metod som returnerar //fraktkostnaden// för fisken. Längden (i cm) multipliceras med faktorn 0,15 och vikten (i g) med faktorn 0,013. Därefter adderas värdena. Fraktkostnaden blir dock minst 12 kr. 
-  
-Gör en klass //FishTest// som testar klassen Fish.\\ 
-Klassen ska ha en //mainmetod// som gör följande: 
-  * Skapar en lista av typen //ArrayList<Fish>//. 
-  * Läser in fiskar från en //textfil// där varje rad innehåller data för en fisk. För varje rad som läses ska ett nytt fiskobjekt skapas och läggas in i listan med fiskar. 
-  Ex:  
-  Torsk 37 865 
-  Gös 26 634 
-  osv. 
- 
-  * Går igenom listan och skriver ut en //tabell// med information om fiskarna. 
-  Ex:  
-  Sort    Längd (cm) Vikt (g) Pris (kr) Frakt (kr) 
-  ---------------------------------------------- 
-  Torsk     37         865      104        17 
-  Gös       26         434       52        12 
- 
- 
-3. 
-**Arv** \\ 
-Klocka med alarm\\ 
-{{::uppgift1.pdf|Uppgift1}} \\ 
-<php> 
-/* 
-{{::testprogram.zip|Testprogram}} 
- 
-*/ 
-</php> 
- 
-4. 
-**Interface** \\ 
-Skapa ett nytt interface i eclipse och kopiera in nedanstående kod. \\ 
-Skapa en klass **MyQueue** som implementerar interfacet **IntQueue** där kön byggs upp av en array med heltal (int[ ]).\\ 
-Arrayens storlek ska hela tiden vara lika som det antal element den innehåller. \\ 
-Testa din klass med ett testprogram. 
- 
-<code java> 
-public interface IntQueue { 
- 
- // Inserts the specified element into the end of this queue. 
- void enqueue(int tal); 
-  
- // Returns the head of this queue and removes it.  
- // Throws an exception if this queue is empty. 
- int dequeue() throws NoSuchElementException; 
-  
- // Retrieves, but does not remove, the head of this queue. 
- // Throws an exception if this queue is empty. 
- int peek() throws NoSuchElementException; 
- 
-        // Checks if this queue is empty. 
-        boolean empty(); 
-} 
-</code> 
- 
-5. 
-**Interface** \\ 
-Skapa ett nytt interface **IntStack** i eclipse. Fundera över vilka abstrakta metoder som ska vara med i interfacet.\\ 
-Skapa en klass **MyStack** som implementerar interfacet **IntStack** där stacken byggs upp av en array med heltal (int[ ]).\\ 
-Arrayens storlek ska hela tiden vara lika som det antal element den innehåller. \\ 
-Testa din klass med ett testprogram. 
- 
-*6. 
-**Arv, abstrakta klasser** \\ 
-Robotar i labyrinter. \\ 
-{{: :uppgift2.pdf|Uppgift2}}