Objektorienterad programmering
Uppgifter:
1.
Introduktion till objektorienterad programmering i Java
Översätt php-koden i 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 434 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
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.
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.
Uppgift2