Differences
This shows you the differences between two versions of the page.
prog2_03 [2019-10-25 12:44] 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:// | ||
- | \\ | ||
- | // | ||
- | Läs specifikation FÖRE, UNDER och EFTER kodningen!!!!!! \\ | ||
- | Metodnamn, attributnamn, | ||
- | //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< | ||
- | // | ||
- | 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 // | ||
- | * 3 // | ||
- | * en metod som returnerar //priset// på fisken (i hela kronor) utifrån dess vikt (120 kr/kg oavsett fisksort). | ||
- | * en metod som returnerar // | ||
- | |||
- | Gör en klass // | ||
- | Klassen ska ha en // | ||
- | * Skapar en lista av typen // | ||
- | * 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 | ||
- | Gös | ||
- | |||
- | |||
- | 3. | ||
- | **Arv** \\ | ||
- | Klocka med alarm\\ | ||
- | {{:: | ||
- | <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. \\ | ||
- | I testklassen ska referenser till de köer som skapas vara av interfacets typ. | ||
- | |||
- | <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(); | ||
- | } | ||
- | </ | ||
- | |||
- | 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. \\ | ||
- | I testklassen ska referenser till de stackar som skapas vara av interfacets typ. | ||
- | |||
- | *6. | ||
- | **Arv, abstrakta klasser** \\ | ||
- | Robotar i labyrinter. \\ | ||
- | {{: : |