---
title: "Behöver hjälp med förståelsen av objekt samt ett exempel."
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/164656-behöver-hjälp-med-förståelsen-av-objekt-samt-ett-exempel"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "xtreme"
published: "2007-09-19T13:39:17.000Z"
updated: "2008-02-07T08:42:31.000Z"
replies: 4
views: 775
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/164656-behöver-hjälp-med-förståelsen-av-objekt-samt-ett-exempel"
---

# Behöver hjälp med förståelsen av objekt samt ett exempel.

## #1 — xtreme, 2007-09-19T13:39Z

Har precis börjat med implementering i klasser och skulle behöva lite hjälp. Till att börja med är klassen till för beskrivning av hur saker ska läsas och det som finns under main är det som körs.?

Ska skriva ett program där en tänkt sköldpadda tar 100 steg och börja sin vandring mitt i fönstret. Steglängden ska lumpas i intervallet \[1 ,10\]. Efter varje steg ska sköldpaddan vridas ett slumpmässigt antal grader i intervallet \[-180, 180\].

Nästa steg är att göra ett program där två sköldpaddor ritar. Steglängd och vridning ska väljas slumpmässigt precis som i innan. Vandringen ska avslutas när avståndet mellan dem är mindre än 50 pixlar. Den ena ska starta i punkten (250, 250) och den andra i (350, 350). Paddorna ska turas om att rita var annan gång.

Permalänk: https://www.webforum.nu/p/164656

## #2 — aasah, 2008-02-05T23:20Z

Låter som en skoluppgift... Varför frågar du inte din lärare/handledare? :(

Permalänk: https://www.webforum.nu/p/2077785

## #3 — M@rtin, 2008-02-06T13:51Z

En klass är som en mall. Du använder klassen för att skapa objekt som har i stort sett samma egenskaper.

När du väl har skapat din sköldpadds-klass kan du alltså enkelt skapa 100 sköldpaddor.

Synd att du inte kodar Logo, där hade det varit enklare ;)

Permalänk: https://www.webforum.nu/p/2077912

## #4 — nitro2k01, 2008-02-06T16:21Z

Jag skulle göra ungefär så här:
En klass Sköldpadda om ärver från någon lämplig grafikklass. Klassen implementerar Runnable. Konstruktorn tar nödvändig geometri som parametrar. Varje sköldpadda motsvarar ett objekt. Ungefär så.

Permalänk: https://www.webforum.nu/p/2077952

## #5 — spango, 2008-02-07T08:42Z

Själv skulle jag göra en sköldpaddsklass som har koll på koordinater (*coord*), steglängd (*stepLength*), och riktning (*angle*). 

I konstruktorn slumpas steglängd fram. Ev. kan man även låta den ta emot begränsningar på hur stort området den kan visas på är så att den inte vandrar utanför detta område.

Ta-ett-steg-metoden gör i princip bara följande:

1. Räkna ut på vilka koordinater man hamnar om man tar ett *stepLength* långt steg från punkten *coord* med riktningen *angle*.
2. *coord* := resultatet från (1)
3. *angle* := slumptal i intervallet \[-180, 180\]

 

Skölpaddorna känner således inte till sin egen grafik. Sen gör du en sköldpaddsrenderarklass som använder skölpaddans koordinater för att rita ut lämplig grafik på en lämplig yta.

Första programmet gör bara nåt i stil med:

1. Skapa en skölpadda
2. Placera skölpaddan mitt i fönstret
3. Upprepa 100 gånger:
4. Låt sköldpaddan ta ett steg
5. Rendera sköldpaddan
6. Vänta en liten stund så att det mänskliga ögat hinner uppfatta förflyttningen

 

Andra programmet gör något i stil med:

1. Skapa två sköldpaddor, *a* och *b*
2. Placera ut *a* och *b* på lämpliga koordinater
3. Så länge *avstånd*(*a.coords*, *b.coords*) \> 50:
4. Om ingen sköldpadda flyttat sig, eller om den senaste som flyttade sig var *b*: Låt *a* ta ett steg
5. Annars (d.v.s. om vi senast flyttade *a*): Låt *b* ta ett steg
6. Rendera *a* och *b*
7. Vänta en liten stund så att det mänskliga ögat hinner uppfatta förflyttningen

 

Med lite list och klurande går det att generalisera så att de båda programmen använder merparten gemensam kod.

Permalänk: https://www.webforum.nu/p/2078142

---

Tråden på webben: https://www.webforum.nu/amne/java/164656-behöver-hjälp-med-förståelsen-av-objekt-samt-ett-exempel
