3 svar
66 visningar
Avokado12345 behöver inte mer hjälp
Avokado12345 131
Postad: 7 jan 2023 14:17

class Dice - fråga

Hur vet man att B är rätt? Jag är ny till programmering så det är lite svårt. Varför ska man skriva d1.sides? och om man skriver d1.roll() då eftersom "d1 går igenom i klassen för 6" så anropas den till roll? Jag är lite lost, sorry.

Lindehaven 820 – Lärare
Postad: 7 jan 2023 15:10

Om du inte ser att A, C och D är felaktiga så behöver du sätta dig in i grunderna. Ett sätt att sätta sig in i detta är förstås att gå någon kurs, läsa någon bok, läsa några webbsidor och/eller titta på några videor.

Det viktigaste är att du själv provar. Om du provar alternativen A-D, läser de felmeddelanden du får och sedan rättar koden så kommer du att lära dig en hel del. Alternativen A, C och D kommer att ge dig flest möjligheter till den typen av inlärning.

d1=Dice(6) innebär att objektet d1 skapas från klassen Dice och att instansvariabeln sides tilldelas värdet 6.

d1.sides innebär att värdet för instansvariabeln sides hämtas från objektet d1.

d1.roll() anropar metoden roll() i objektet d1 som då kommer att slumpa fram ett tal mellan 1 och 6.

I alternativ B så kommer dock d2.roll() att anropas, inte d1.roll() ...

Avokado12345 131
Postad: 7 jan 2023 15:16

ok, ska sätta mig in i grunderna. 

Fermatrix 7841 – Fd. Medlem
Postad: 7 jan 2023 17:15 Redigerad: 7 jan 2023 17:15

De kluriga är att konceptuellt så är det inget fel på A (även om man inte ofta vill ge tillgång till ett attribut på det sättet) eller C osv.

Det stora problemet är att både A, C och D gör något fel syntaxvis.

Ex: C försöker kalla på klassens konstruktor utan argument, vilket kommer smälla direkt eftersom klassen har ingen konstruktor som inte tar emot några argument. 

Hittar du felen med A och D? 

Svara
Close